
Python搜寻器使用浏览器cookie:browsercookie进程分析
更新时间:2019年10月22日09:26:26作者:Python小弟弟
本文主要介绍Python搜寻器使用的浏览器cookie:browsercookie,它通过示例代码进行了详细介绍,并且对每个人的学习或工作都有一定的参考学习价值。有需要的朋友可以参考
许多使用Python的人可能已经编写了Web搜寻器。自动获取网络数据确实是一种乐趣,Python可以帮助我们很好地实现这种乐趣。但是,爬虫经常遇到各种登录和验证障碍,这令人沮丧(网站:每天遇到各种爬虫以捕获我们的网站,这也非常令人沮丧〜)。爬行动物和抗爬行动物是猫和老鼠的游戏。路是一英尺高,魔鬼是一英尺高。
由于http协议的无状态性质,因此通过传递cookie来实现登录身份验证。通过浏览器登录一次,浏览器将保存登录信息的cookie。下次您打开网站时,浏览器将自动带来保存的cookie。只有Cookie尚未过期,您仍然可以登录网站。

browsercookie模块是用于从浏览器提取保存的cookie的工具。这是一个非常有用的搜寻器工具。通过将浏览器的cookie加载到cookiejar对象中,它可以使您轻松下载需要登录的网页内容。
安装
点安装浏览器cookie
在Windows中,加载FireFox时,内置的sqlite模块将引发错误。需要更新sqlite的版本:
pip安装pysqlite

使用方法
以下是从网页提取标题的示例:
>>> import re
>>> get_title = lambda html: re.findall('(.*?) ', html, flags=re.DOTALL)[0].strip()以下是未登录时下载的标题:
>>> import urllib2 >>> url = 'https://bitbucket.org/' >>> public_html = urllib2.urlopen(url).read() >>> get_title(public_html) 'Git and Mercurial code management for teams'
接下来,使用浏览器cookie从已登录到Bitbucket的FireFox获取cookie,然后再次下载它们:
>>> import browsercookie >>> cj = browsercookie.firefox() >>> opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) >>> login_html = opener.open(url).read() >>> get_title(login_html) 'richardpenman / home — Bitbucket'
上面是Python2的代码,请再次尝试Python3:
>>> import urllib.request >>> public_html = urllib.request.urlopen(url).read() >>> opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
您可以看到您的用户名出现在标题中,表明browsercookie模块已成功从FireFox加载了cookie。编辑器组织了一组Python资料和PDF。如果您需要Python学习资料,则可以添加一个学习组:631441315。无论如何,我很空闲,最好学习一些东西~~

以下是使用请求的示例。这次我们从Chrome加载Cookie。当然,您需要提前使用Chrome登录到Bitbucket:
>>> import requests >>> cj = browsercookie.chrome() >>> r = requests.get(url, cookies=cj) >>> get_title(r.content) 'richardpenman / home — Bitbucket'
如果您不知道或不在乎哪个浏览器具有所需的Cookie,则可以执行以下操作:
>>> cj = browsercookie.load() >>> r = requests.get(url, cookies=cj) >>> get_title(r.content) 'richardpenman / home — Bitbucket'
支持
当前,该模块支持以下平台:
Chrome:Linux,OSX,Windows
Firefox:Linux,OSX,Windows
以上是本文的全部内容,希望对大家的学习有所帮助,并希望您能更多地支持Scripthome。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/shumachanpin/article-324466-1.html
只要能杀美国人