300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python 爬虫 requests模块 中的Cookies 验证 通过验证cookies模拟登陆豆瓣登陆

python 爬虫 requests模块 中的Cookies 验证 通过验证cookies模拟登陆豆瓣登陆

时间:2023-09-09 17:30:28

相关推荐

python 爬虫 requests模块 中的Cookies 验证 通过验证cookies模拟登陆豆瓣登陆

在爬取某些数据时,需要进行网页的登陆,才可以进行数据的抓取工作。Cookies登陆就像很多网页中的自动登陆功能一样,可以让用户第二次登陆时不在需要验证账号和密码的情况下进行登陆。在requests模块中实现Cookies登陆时,首先需要在浏览器的开发者工具中找到可以实现登陆的Cookies信息,然后将Cookies信息处理并添加至RequestsCookieJar的对象中,最后将RequestsCookieJar对象作为网络请求的Cookies参数发送网络请求即可。

登陆前F12打开开发者工具,然后点击登陆,在Network中点击Name为的标签,然后找到Request Headers 找到Cookie和Referer 把数据填写到代码响应的位置,然后执行如下代码:

import requests#导入网络请求模块from lxml import etree#导入lxml模块from requests.cookies import RequestsCookieJarcookies = 'bid=pjgLNxf4l58; gr_user_id=3810b31e-93ac-4218-8854-beb0a92270f3; _vwo_uuid_v2=D723216EF67BD847DE34C8293BBE9E476|580f3421ba24bf6f046142cfc8687e24; ll="118177"; __yadk_uid=QGASRU74csarwZMirNUKV2UKBsgYb1jE; douban-fav-remind=1; __utmv=30149280.21866; douban-profile-remind=1; __utmz=30149280.1606616223.6.3.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; __gads=ID=ea2ae52b8181609a-22edd78d4cc200fc:T=1593688576:RT=1593688576:R:S=ALNI_MZie4Sb8bYIKcULjos76IVwiLehCA; _pk_ref.100001.8cb4=%5B%22%22%2C%22%22%2C1606700574%2C%22https%3A%2F%%2Flink%3Furl%3DdebQUs80fHnuan4dSHOFIclPn6nRfmywWRzpgSnxoEQPNMcF4PvJpy6HRBbBsHonagTUyVIVFfQc2_fFDT25QK%26wd%3D%26eqid%3Dbb0850e80003e0bc000000055fc30448%22%5D; _pk_id.100001.8cb4=0f4e7ccad794e91b.1593688463.6.1606700574.1606616222.; _pk_ses.100001.8cb4=*; __utma=30149280.1002979081.1587122057.1606616223.1606700575.7; __utmc=30149280; __utmt=1; __utmb=30149280.1.10.1606700575; dbcl2="226532095:bJULCGInIN8"'#此处填写登陆后网页中的Cookies信息headers = {'Host': '','Referer': '/','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36'}#创建requestsCookieJar对象,用于设置Cookies信息cookies_jar = RequestsCookieJar()for cookie in cookies.split(';'):key,value = cookie.split('=', 1)cookies_jar.set(key,value)#将Cookies保存requestsCookieJar当中#发送网络请求response = requests.get('/',headers=headers,cookies=cookies_jar)if response.status_code==200:html = etree.HTML(response.text)#解析HTML代码#获取用户名name = html.xpath('//*[@id="db-global-nav"]/div/div[1]/ul/li[2]/a/span[1]/text()')print(name[0])#打印用户名

输出结果:

戴上微笑的帐号 #此处应该显示的是你登陆时候的账号的用户名

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。