Python: ConnectionError: 'Connection aborted' when scraping specific websites
Python: ConnectionError: 'Connection aborted' when scraping specific websites
我正在尝试抓取此网站:
https://www.footpatrol.com/
然而,该网站似乎拒绝了我的抓取尝试。
使用 headers 没有帮助。
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,我该如何修复我的代码以便抓取网站?
我可以通过将用户代理更改为:
来获得响应
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 版本是您的用户代理中的罪魁祸首。
我正在尝试抓取此网站: https://www.footpatrol.com/
然而,该网站似乎拒绝了我的抓取尝试。
使用 headers 没有帮助。
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,我该如何修复我的代码以便抓取网站?
我可以通过将用户代理更改为:
来获得响应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 版本是您的用户代理中的罪魁祸首。