【问题标题】:How to handle the dynamic cookies when crawling a website by python?python爬取网站时如何处理动态cookies?
【发布时间】:2020-09-01 03:58:18
【问题描述】:
我是 Python 的初学者。我试图从我的www.Alibaba.com 控制台抓取一些产品信息。当我来到访问者详细信息页面时,我发现每次单击搜索按钮时 cookie 都会发生变化。我发现每个请求的 cookie 都发生了变化。我无法像从其他页面爬取数据的方式爬取数据,这些页面在某个时间段内固定了 cookie。
对比 cookie 数据后,我发现这里只更改了 3 个键值对。我认为这 3 个值使我无法抓取数据。所以我想知道如何处理这种情况。
【问题讨论】:
标签:
python
web
cookies
pycharm
web-crawler
【解决方案1】:
对于 python3,标准库中的 http.client 可以配置为使用 http.cookiejar CookieJar,这将自动跟踪客户端中的 cookie。
你可以这样设置:
import http.cookiejar, urllib.request
cj = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
r = opener.open("http://example.com/")
如果您使用的是 pyhton2,那么类似的方法适用于 urllib:
import urllib2
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
r = opener.open("http://example.com/")