首页 > 解决方案 > 在 Python 中进行网页抓取时如何存储 cookie?

问题描述

我对这个世界很陌生,web scraping但是我确实知道基础知识,但是这个问题让我很困惑。我的目标是抓取一个网站,但该网站需要cookies。许多用户cookies在检查页面后发现他们关心的内容和他们的价值观,然后在页面上设置 cookieget request以访问网站。然而,我试图抓取的网站有许多非常复杂的 cookie,我不太理解它们。是否可以在会话中生成 cookieget request并将它们存储在会话中,这样我就不必搜索大量 cookie?

任何帮助,将不胜感激

import requests
from bs4 import BeautifulSoup

url="https://www.shiekh.com/"
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'}

with requests.Session() as s:
    r = s.get(url, headers=headers)
    r = s.post(url, headers=headers)
    soup = BeautifulSoup(r.content, 'lxml')
    print(soup)

我目前正在使用上述内容来刮取产品价格,但是我被标记为机器人。

标签: pythonseleniumweb-scrapingrequestpython-requests

解决方案


使用requests.Session

import requests

session = requests.Session()
response = session.get('https://google.com')
print(session.cookies)

session.cookies在您访问每个网站后,cookie 都会被保存。


推荐阅读