通过请求库绕过侵入式cookie语句

2024-10-03 09:08:52 发布

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

我正在尝试使用requests库对网站进行爬网。但是,我尝试访问的特定网站(http://www.vi.nl/matchcenter/vandaag.shtml)有一个非常侵入性的cookie语句。在

我正在尝试访问以下网站:

from bs4 import BeautifulSoup as soup
import requests
website = r"http://www.vi.nl/matchcenter/vandaag.shtml"
html = requests.get(website, headers={"User-Agent": "Mozilla/5.0"})
htmlsoup = soup(html.text, "html.parser")

这将返回一个网页,该网页只包含一个可接受的大按钮的cookie语句。如果您尝试在浏览器中访问此页面,您会发现按此按钮会将您重定向到请求的页面。如何使用requests来完成此操作?在

我考虑过使用mechanize.Browser,但这似乎是一种非常迂回的方法。在


Tags: importhttp网站cookiehtmlwwwnlwebsite
2条回答

我发现了thisSO问题,它询问如何使用请求在post中发送cookies。接受的答案是,请求的最新版本将从简单的字典中为您构建Cookiejar。以下是原始答案中包含的POC代码。在

import requests

cookie = {'enwiki_session': '17ab96bd8ffbe8ca58a78657a918558'}

r = requests.post('http://wikipedia.org', cookies=cookie)

尝试设置:

cookies = dict(BCPermissionLevel='PERSONAL')
html = requests.get(website, headers={"User-Agent": "Mozilla/5.0"}, cookies=cookies)

这将绕过cookie同意页,并直接进入该页。在

注意:通过分析cookie concent页面上运行的javascript代码,可以发现上面的内容,虽然有点模糊,但应该不难。如果您再次遇到相同类型的问题,请查看在事件处理集上执行的javascript代码是什么类型的cookie。在

相关问题 更多 >