使用用户代理头时 Webscraping CrunchBase 访问被拒绝

Eat*_*ode 3 python wget beautifulsoup web-scraping python-requests

我正在尝试通过网络抓取 Crunch Base 来查找某些公司的总资金金额。这是一个示例的链接

起初,我尝试只使用漂亮的汤,但我不断收到错误消息:

访问此页面已被拒绝,因为我们认为您正在使用自动化工具来浏览\n网站。

然后我查找了如何伪造浏览器访问并更改了代码,但仍然出现相同的错误。我究竟做错了什么??

import requests
from bs4 import BeautifulSoup as BS


url = 'https://www.crunchbase.com/organization/incube-labs'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}

response = requests.get(url, headers=headers)
print(response.content)
Run Code Online (Sandbox Code Playgroud)

Foz*_*oro 7

总而言之,您的代码看起来很棒!您尝试废弃的网站似乎需要比您拥有的更复杂的标题。以下代码应该可以解决您的问题:

import requests
from bs4 import BeautifulSoup as BS


url = 'https://www.crunchbase.com/organization/incube-labs'
headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:66.0) Gecko/20100101 Firefox/66.0", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-US,en;q=0.5", "Accept-Encoding": "gzip, deflate", "DNT": "1", "Connection": "close", "Upgrade-Insecure-Requests": "1"}

response = requests.get(url, headers=headers)
print(response.content)
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!