老师我在做课后作业:爬取拉勾网职位信息,响应回来的信息提示我需要验证,我加了cookies上去也没用,我该怎么处理啊?
import requests from fake_useragent import UserAgent from lxml import etree headers = {'User-Agent':UserAgent().chrome} args = { 'user':'18825710688', 'password':'ljj20020722' } url = 'https://www.lagou.com/jobs/list_python%E5%B7%A5%E7%A8%8B%E5%B8%88/p-city_0?&cl=false&fromSearch=true&labelWords=sug&suginput=pytho' response = requests.post(url,headers=headers,data=args) print(response.text) # e = etree.HTML(response.text) # names = e.xpath('//h3/text()') # details = e.xpath('//span[@class="add"]/em/text()') # price = e.xpath('//div/span[@class="money"]/text()') # for name,detail,price in zip(names,details,price): # print(name,':',detail,':',price)
老师,请问,win7系统怎么查看是否开启了虚拟化呢
老师我的代码是按照视频里面敲的,但是运行的时候就会出错,只可以爬取几条数据,麻烦老师帮我看下子
from selenium import webdriver from time import sleep from lxml import etree # 构造浏览器 chrome = webdriver.Chrome() # 发送请求 url = 'https://search.jd.com/Search?keyword=%E7%AC%94%E8%AE%B0%E6%9C%AC&enc=utf-8&wq=%E7%AC%94%E8%AE%B0%E6%9C%AC&pvid=ce58b28b72ae48c190c8451125b8f894' chrome.get(url) # 拉动滚动条到底部,注意的是代码应该写在获取网页源码之前 js = 'document.documentElement.scrollTop=100000' chrome.execute_script(js) sleep(3) html = chrome.page_source e = etree.HTML(html) # titles = e.xpath('//div[@class="p-name p-name-type-2"]/a/em/text()') titles = e.xpath('//div[@id="J_goodsList"]//div[@class="p-name p-name-type-2"]/a/@title') prices = e.xpath('//div[@id="J_goodsList"]//div[@class="p-price"]/strong/i/text()') for title,price in zip(titles,prices): print(title,':',price) print(len(price)) chrome.quit()
老师,请问,我第一次爬取的时候,数据库中只有一页的内容,但是我把close_spider这个函数注释掉或者加个等待,就可以爬取3页的数据,这种情况是不是在数据还没有保存完,连接就关闭了
老师麻烦帮我看下代码,我的ip好像是不是被封了?响应回来的html好像是要我验证
import requests from fake_useragent import UserAgent from lxml import etree def get_html(url): '''传入要爬取的地址,返回html''' headers = {"User-Agent": UserAgent().chrome} response = requests.get(url,headers) if response.status_code == 200: response.encoding = 'utf-8' print(response.text) return response.text else: return None def parse_list(html): '''传入含有电影信息的html,返回电影列表的每个电影的html''' e = etree.HTML(html) list_url = ['https://maoyan.com/{}'.format(url) for url in e.xpath('//div[@class="movie-item film-channel"]/a/@href')] # print(list_url) return list_url def parse_index(html): '''传入有电影信息的html,返回提取到的电影信息''' e = etree.HTML(html) name = e.xpath('//h1[@class="name"]/text()') type = e.xpath('//li[@class="ellipsis"][1]/a/text()') actor = e.xpath('//div[@class="celebrity-group"][2]/ul[@class="celebrity-list clearfix"]/li/div/a/text()') actors = format_data(actor) return {'name':name,'type':type,'actor':actors} def format_data(actors): actor_set = set() for actor in actors: actor_set.add(actor) return actor_set def main(): num = int(input('请输入要获取的页数:')) for page in range(num): url = 'https://maoyan.com/films?showType=3&offset={}'.format(page*30) list_html = get_html(url) list_url = parse_list(list_html) print(list_url) # for url in list_url: # info_html = get_html(url) # movie = parse_index(info_html) # print(movie) if __name__ == "__main__": main()
老师,请问,我这里直接pip,为什么没有自动给我安装到这个项目的site-packages中呢,下图是自动安装的路径,是不对的
老师我这里在爬取了两页之后会提示说编码错误,麻烦老师帮我看下
from urllib.request import Request,urlopen from fake_useragent import UserAgent def get_html(url): headers = {"User-Agent": UserAgent().chrome} request = Request(url,headers=headers) response = urlopen(request) return response.read().decode() def save_html(html,filename): with open(filename,'w',encoding='utf-8') as f: f.write(html) def main(): for i in range(1,4): url = 'https://www.qiushibaike.com/8hr/page/{}/'.format(i) html = get_html(url) filename = '《糗事百科》第'+str(i)+'页.html' save_html(html,filename) if __name__ == "__main__": main()
老师你好!我这个好像有些许不同。是什么原因,版本不一样吗?
老师,我有一个疑问,这种携带登录信息,账号名密码的访问url,如果被发现是爬虫在访问了,不是直接就获取到我们的账号和密码了嘛
老师,请问,这个External Libraries是放什么的哦,为什么查看源码从这里面找,找的又是谁的源码呢,在视频第19分钟
就是运行不出来
import requests login ='http://www.chaojiying.com/user/login/' img ="http://www.chaojiying.com/public/default/images/content_login/img_login.jpg" headers={ "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" } #创建session对象 session =requests.session() #第一次获取登陆页面 resp = session.get(login,headers=headers) #获取验证码 img_resp=session.get(img,headers=headers) #保存验证码 with open("code.jpg","wb") as f: f.write(img_resp.content) code=input("输入:") date={ 'user': 'jingrunping', 'pass': '456363', 'imgtxt':code, 'act': '1' } #登陆操作 login_resp=session.post(login,headers=headers,date=date) print(login_resp.text)
老师,昨天还能运行,今天怎么运行不出来,怎么回事
老师,能把能用正则把图片中标记字体匹配一下
火狐就是运行不出来。老师
from selenium import webdriver # 构造浏览器 fire = webdriver.Firefox() # 发送请求,访问url url = 'http://www.baidu.com' fire.get(url)
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637