Python爬虫 #009 爬虫解决页面登录
4.1-cooki
缺点:cooki只存在一定时间
-
有些网站需要登录才能看见里面的内容,如何让爬虫也能获取?
我们登录网页时,浏览器会把我们我用户名密码等信息加密在cooki中,再发送给服务器,服务器识别用户名密码后就返回登录后的页面给用我们。
登录一次后,浏览器在一段时间再次访问该网址将不需要输入密码,因为服务器会记录cooki一段时间。
就可以在爬虫中加入cooki信息来发送用户的信息
-
实现过程
输入用户名登录后!!!,F12查看服务器返回的数据,在里面可以查看cooki,如:

代码实现:
import requests url = "https://so.gushiwen.org/user/collect.aspx" 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', 'cookie': 'login=flase; wsEmail=2744255833%40qq.com; Hm_lvt_04660099568f561a75456483228a9516=1584855665,1586681311; ASP.NET_SessionId=ojteuyrkanthnihhuemfxjcf; codeyzgswso=0df1fee001fbfe43; gsw2017user=242603%7c0D8477911D64064585A0063F775442B1; login=flase; gswZhanghao=2744255833%40qq.com; gswEmail=2744255833%40qq.com; idsShiwen2017=%2c71169%2c8279%2c7722%2c5637%2c22550%2c70751%2c71958%2c71072%2c47734%2c; Hm_lpvt_04660099568f561a75456483228a9516=1586681770' } session = requests.Session() response = session.get(url=url,headers=headers) response.encoding='utf-8' data = response.text print(data)效果如下:可以得到登录后才能获取的信息

4.2-selenium
缺点:需学习selenium
找到输入用户名和密码的框send_key,再click即可简单粗暴。
本文来自博客园,作者:{枫_Null},转载请注明原文链接:https://www.cnblogs.com/fengNull/articles/15488823.html

浙公网安备 33010602011771号