python - 在 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)
我目前正在使用上述内容来刮取产品价格,但是我被标记为机器人。
解决方案
import requests
session = requests.Session()
response = session.get('https://google.com')
print(session.cookies)
session.cookies
在您访问每个网站后,cookie 都会被保存。
推荐阅读
- python - 用于 LSTM 模型的 KeyError '-f' Python
- python - 我们可以在 Yellowbrick 可视化中使用 numpy 数组混淆矩阵吗
- c - 写入顺序或单次写入
- entity-framework - 在多实体迁移错误中使用根和嵌套拥有的类型
- python - 与参数化查询(python,sqlite)一起使用时,cursor.execute()返回空列表
- javascript - 如何从另一个 javascript 文件中调用 videojs 对象
- php - 在实时服务器上创建图像共享文件夹并显示在本地服务器上
- c++ - 使用发布-订阅模式进行实际应用程序设计
- sas - 希望在不插入 SAS 的情况下扩展数据
- python - 用 2D ndarray 给出的值填充 3D ndarray 内方阵的对角线