使用Beautifulsoup抓取网站时出现问题

时间:2020-04-02 23:47:03

标签: python beautifulsoup

我正在尝试使用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)

我正在使用会话,因为我打算稍后再提出授权请求。该代码对我尝试过的所有网站都适用,但对于instacart而言却不能,因为某种原因,它只是打印“非常抱歉”。在我的VSCode控制台中。这是我第一次尝试使用Python,并且对这个特定错误进行谷歌搜索是徒劳的。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

几个网站不允许进行网页抓取,Instacart可能就是其中之一。

基于您可以阅读here的Instacart条款

... ...您只能通过以下方式访问服务: Instacart为此目的提供了(例如,您可能不会“抓取” 通过自动方式或“构架” 服务)... ...

答案 1 :(得分:0)

要诱使服务器认为您的脚本不是机器人,只需使用user-agent header
提醒您,如果您使用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)