【问题标题】:How do I store cookies while web scraping in Python?在 Python 中进行网页抓取时如何存储 cookie?
【发布时间】:2020-08-02 07:28:50
【问题描述】:

我对@9​​87654321@ 的世界还很陌生,但是我知道基础知识,但是这个问题让我很困惑。我的目标是抓取一个网站,但该网站需要cookies。许多用户在查看页面后找到他们关心的cookies 和他们的价值观,然后在get request 上设置cookie 以访问该网站。然而,我试图抓取的网站有许多非常复杂的 cookie,我不太理解它们。是否可以在 get request 中生成 cookie 并将它们存储在会话中,这样我就不必搜索大量 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)

我目前正在使用上述方法来获取产品价格,但我被标记为机器人。

【问题讨论】:

    标签: python selenium web-scraping request python-requests


    【解决方案1】:

    使用requests.Session

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

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

    【讨论】:

    • 可能是因为该网站也需要启用 JavaScript,但我尝试过类似的东西,cookiejar 是空的,我仍然无法访问该网站。
    • @user14036256 这就是为什么你应该包含一个minimal, reproducible example。如果我没有要测试的代码,我帮不了你
    • 我的错,我是新来这里发帖的,我已经编辑了问题。
    猜你喜欢
    • 2015-04-23
    • 2020-08-25
    • 2019-12-19
    • 1970-01-01
    • 1970-01-01
    • 2021-10-25
    • 2013-09-24
    • 2011-10-21
    • 1970-01-01
    相关资源
    最近更新 更多