Python:ConnectionError:抓取特定网站时“连接异常中止”

时间:2019-04-22 12:01:10

标签: python web-scraping beautifulsoup python-requests screen-scraping

我正在尝试抓取此网站: https://www.footpatrol.com/

但是该网站似乎拒绝了我的抓取尝试。

使用标题无济于事。

from bs4 import BeautifulSoup
import requests

url = "https://www.footpatrol.com/"
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'}
r = requests.get(url, headers = headers)
data = r.text
soup = BeautifulSoup(data, 'lxml')

for a in soup.find_all():
    print(a)

这导致我收到ConnectionError,如何修复我的代码以便抓取网站?

1 个答案:

答案 0 :(得分:1)

我可以通过将用户代理更改为以下方式来获得回复:

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'}

,以下用户代理也适用:

headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'}

Chrome版本似乎是用户代理中的罪魁祸首。