找出使用Python在不同网站上设置的cookies

2024-06-28 11:13:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个约10000个指向在线新闻文章的网址列表。我已经编写了一些代码,使用请求库(python3.5)来获取这些新闻文章的html内容。目标是使用Readability模块检索文章内容,并对其进行进一步的分析。这在大多数情况下是有效的。然而,所有的网站都是荷兰语,因此必须遵守欧盟的政策,规定使用cookies必须征得同意。其中一些,例如http://telegraaf.nl,通过加载一个单独的页面来实现这一点,用户必须单击一个按钮。在这种情况下,我可以通过一个普通的cookie头获得:

import requests

user_agent = 'Mozilla/5.0'
url = 'http://www.telegraaf.nl/dft/geld/werk-inkomen/27740808/__Vechten_om_werk_in_noorden__.html'
cookies_telegraaf = {'TMGCOOKIE': '{%22version%22:%22t3%22}'}
html = requests.get(url, headers={"User-Agent": user_agent}, cookies=cookies_telegraaf)
print(html.content)

这将打印我需要的html内容。问题是,每个网站都需要不同的cookie。所以我的问题是:有没有一种方法可以在每个网站的标题中找到要传递的特定cookie,而无需手动在浏览器中进行检查?在

谢谢你的帮助。在


Tags: httpurl内容网站cookiehtmlnl文章
1条回答
网友
1楼 · 发布于 2024-06-28 11:13:41

这更像是一个评论,而不是一个真正的答案。Here是另一个可能有帮助的答案。
我要做的是先处理那些没有cookie的网站,然后尝试处理那些没有加载单独页面的站点,然后再处理那些使用单独页面的站点。
但是,如果您的问题是要知道是否有一种方法可以轻松访问cookies,那么requests documentation给出了一种方法here

 url = 'http://example.com/some/cookie/setting/url'
>>> r = requests.get(url)

>>> r.cookies['example_cookie_name']
'example_cookie_value'

要将自己的cookies发送到服务器,可以使用cookies参数:

^{pr2}$

相关问题 更多 >