""" 爬取淘宝商品价格 """ import requests from lxml import etree def get_html_text(url): ua = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36' } try: resp = requests.get(url, headers=ua) resp.raise_for_status() resp.encoding = resp.apparent_encoding return resp.text except BaseException as e: print(e) def parser_page(html): e = etree.HTML(html) prices = e.xpath("//div[@class='price g_price g_price-highlight']/strong/text()") product_infos = e.xpath("//div[@class='row row-2 title']/a/text()") for price, info in zip(prices, product_infos): print(f"商品:{info.strip()}\n价格:{price}\n\n\n") def main(): url ='https://s.taobao.com/search?q=python书籍&imgfile=&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_2' html = get_html_text(url) parser_page(html) main()
老师,我这里有一个爬取商品价格的爬虫,运行后显示进程结束,什么都没有,我是被反爬了吗?
老师,有验证码的怎么ban呢????????????????????????????
设置完IP后,模拟器报网络连接问题
老师这3个那个常用呀
老师怎么去除红色里面的文字
如果不去掉 得的的内容是这样的
老师,请问,这句代码怎么理解呢,中间的string(.)又是什么意思呢
就是补充,我不知道怎么回复问题。
现在就是我运行,并不能返回html的网页信息,我发现里面有两个debug,我解决了一个,还剩一个
我想应该是
这个debug到导致的问题。
from urllib.request import urlopen,Request from urllib.parse import quote arg = "尚学堂" # print(quote(arg)) url = "https://www.baidu.com/s?wd={}".format(quote(arg)) #设置UA变量 headers = { "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) 123456" } #封装request对象 req = Request(url,headers=headers) #发送请求 response = urlopen(req) #打印内容 print(response.read().decode())
老师请问为什么我下载的boot2docker.iso是个压缩文件啊?我解压缩以后没有得到老师视频中的光盘印象文件?
老师,为啥我运行后是这样的,但是我在Terminal里面就可以运行
from urllib.request import Request,urlopen import re def get_html(url): headers = { 'User-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3756.400 QQBrowser/10.5.4039.400' 'X-CSRF-Token: 0Jq5gyy1OYDW0iKKdDCnieaIPQoxCLHg'} req = Request(url, headers=headers) res = urlopen(req) return res.read().decode() def save_html(html,filename): pattern = r'<div class="content">\s*<span>\s*(.+)<span>' v=re.findall(pattern,html) with open(filename, 'w', encoding='utf-8') as f: # f.write(html) for i in v: f.write('\t'+i+'\n\n') def main(i,m): url = 'https://www.qiushibaike.com/text/{}'.format(i) html=get_html(url) filename = '第' + str(m+3) + '页段子.html' save_html(html, filename) if __name__ == '__main__': p_list=['','page/2/','page/3/'] m = 1 for i in p_list: main(i,m) m+=1
老师好,我用pyquery库中filter函数遇到一个问题:
代码:
d = pq("<div><p id='1'>test 1</p><p class='2'>test 2</p></div>") # 我想根据类名(class='2')得到指定元素 print(d('p').filter('.2'))
运行结果:
但是我又按官网的例子:
d = pq("<div><p id='1'>test 1</p><p class='hello'>test 2</p></div>") # 我想根据类名(class='hello')得到指定元素 print(d('p').filter('.hello'))
结果:
我想问下老师这个函数是只能适用于类名是英文的吗?
老师,我的网页的源代码会比视频里面多了一些:dt-imp-once="true" dt-eid="em_item_article" dt-params="article_id=20220621A03VKD00&article_type=0&article_url=https://new.qq.com/omn/20220621/20220621A03VKD00.html&dt_element_path=['em_item_article','em_content_card']"
把这个删掉就可以了,他的这个代码是为了反爬特意写的吗?
老师,这个问题这么解决的,好像一直都存在的,获取下来都是因为转码的问题提
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637