使用urllib启用cookie

时间:2015-04-01 15:55:29

标签: python cookies urllib

我想用urllib python库解析一个网站。我写了这个:

import urllib as web
source_rep.urlopen(url_rep).read()
print source_rep

该网站向我返回一条消息,说我应该启用cookie。我怎么能用python做到这一点?

2 个答案:

答案 0 :(得分:3)

当然使用CookieJar

urllib2

import cookielib
import urllib2
cookiejar= cookielib.LWPCookieJar()
opener= urllib2.build_opener( urllib2.HTTPCookieProcessor(cookiejar) )
opener.urlopen(...)

暂且不说:

根据我的经验,您要解析的网站告诉您启用Cookie是一个很好的指标,这将是一种不愉快的体验,您接下来会问how to enable javascript in urllib2(这不是真正的回答,顺便说一句。)

如果您认为自己将从更高级别的方法中受益,则应该评估mechanizeselenium

答案 1 :(得分:0)

此答案已针对Python 3更新。它已通过Python 3.7进行了专门测试。通常,我会记住要为Cookie使用的每个随机URL使用新的开启程序

from urllib.request import build_opener, HTTPCookieProcessor, Request
url = 'https://www.cell.com/cell-metabolism/fulltext/S1550-4131(18)30630-2'
opener = build_opener(HTTPCookieProcessor())

没有Request对象:

response = opener.open(url, timeout=30)
content = response.read()

带有Request对象:

request = Request(url)
response = opener.open(request, timeout=30)
content = response.read()