我正在尝试从这个 booking website 中抓取结果。在 POST request
中,除了行程代码和日期之外,还有 _csrf
参数,我假设它是 CSRF token
。
我试图获取会话 cookie 并提取 this answer 后面的 CSRF token
,但我返回的 cookie 没有 CSRF token
<RequestsCookieJar[<Cookie JSESSIONID=W33kBCH5zFsyVhTyQL9L4Ibyq-KLGTBSD4h_IUNA.aru-270545 for www.booking.alilaurogruson.it/booking>]>
def get_session_cookie():
url = 'https://www.booking.alilaurogruson.it/booking/welcome/home'
s = requests.Session()
s.get(url, verify=False)
print(s.cookies)
if 'csrftoken' in s.cookies:
# Django 1.6 and up
csrftoken = s.cookies['csrftoken']
else:
# older versions
csrftoken = s.cookies['csrf']
return csrftoken
如何成功抓取搜索结果?
答案 0 :(得分:0)
_csrf
在该页面上作为表单参数提供,您必须使用 BeautifulSoup 之类的内容进行解析。
<input type="hidden" name="_csrf" value="666363ca-ffff-ffff-ffff-41a61e158e0f" />