为此
urllib,您需要:
- 构造一个
cookie
对象。构造函数未在文档中记录,但是如果您help(http.cookiejar.cookie)
在交互式解释器中,则可以看到其构造函数要求所有16个属性的值。请注意,文档说:“不希望http.cookiejar的用户构造自己的cookie实例。” - 使用将其添加到cookiejar
cj.set_cookie(cookie)
。 - 告诉cookiejar将正确的标头添加到请求中
cj.add_cookie_headers(req)
。
假设您已经正确配置了策略,则已设置完毕。
但这是一个巨大的痛苦。正如文档
urllib.request所说:
另请参见 对于更高级别的HTTP客户端界面,建议使用Requests包。
而且,除非您有充分的理由不能安装,否则您
requests应该这样做。
urllib在真正简单的情况下是可以容忍的,当您需要深入探究时可以很方便-
但对于其他所有方面,
requests则要好得多。
使用
requests,您的整个程序就变成了单行代码:
webpage = requests.get('https://www.thewebsite.com/', cookies={'required_cookie': required_value}, headers={'User-Agent': 'Mozilla/5.0'}).text
…虽然几行可能更易读:
cookies = {'required_cookie': required_value}headers = {'User-Agent': 'Mozilla/5.0'}response = requests.get('https://www.thewebsite.com/', cookies=cookies, headers=headers)webpage = response.text
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)