【问题标题】:Problem scraping a website with Beautifulsoup使用 Beautifulsoup 抓取网站时出现问题
【发布时间】:2021-02-12 18:34:14
【问题描述】:

我正在尝试使用 Beautifulsoup 从 www.instacart.com 抓取信息。到目前为止,这是我的代码:

import requests
from bs4 import BeautifulSoup

session = requests.Session()
response = session.get('https://www.instacart.com')

content = BeautifulSoup(response.text, "html.parser")

print (content)

我正在使用 Session,因为我计划稍后提出授权请求。此代码适用于我尝试过的所有网站,但不适用于 instacart,由于某种原因,它只是打印“非常抱歉”。在我的 VSCode 控制台中。这是我第一次尝试 Python,我在谷歌上搜索这个特定的错误是徒劳的。有人可以帮忙吗?

【问题讨论】:

    标签: python beautifulsoup


    【解决方案1】:

    要欺骗服务器认为您的脚本不是机器人,只需使用user-agentheader。
    提醒一下,如果您使用 I/O 夸大其词,他们可能会阻止您的 IP

    import requests
    
    session = requests.Session()
    header = {'user-agent': "I'm tricking you"}
    response = requests.get('https://www.instacart.com', headers=header)
    print(response.text)
    

    【讨论】:

      【解决方案2】:

      一些网站不允许网页抓取,Instacart 可能就是其中之一。

      基于您可以阅读的 Instacart 术语here,

      ... ...您只能通过以下接口访问服务 Instacart 提供了用于该目的(例如,您可能不会“抓取” 通过自动化方式或“框架”服务的任何部分 服务)... ...

      【讨论】:

        猜你喜欢
        • 2020-12-22
        • 1970-01-01
        • 1970-01-01
        • 2019-09-26
        • 2019-12-15
        • 2019-02-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多