在“ whoscored.com”上使用Python进行的网络抓取错误

时间:2019-11-22 13:00:27

标签: python soap beautifulsoup

导入请求 从bs4导入BeautifulSoup

user_agent = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'}
page = requests.get("https://www.whoscored.com/Regions/252/Tournaments/2/England-Premier-League", headers=user_agent)
soup = BeautifulSoup(page.text,'html.parser')


print(soup)

我正在尝试在“ whoscored.com”上进行网络爬网,但是我无法获取所有的HTML告诉我解决方案。

请求失败。封装事件ID:946001050011236585-61439481461474967

这是结果。

1 个答案:

答案 0 :(得分:1)

from selenium import webdriver
import time
from bs4 import BeautifulSoup

browser = webdriver.Firefox()

url = 'https://www.whoscored.com/Regions/252/Tournaments/2/England-Premier-League'
sada = browser.get(url)
time.sleep(3)
source = browser.page_source
soup = BeautifulSoup(source, 'html.parser')
print(soup.prettify())

这里有两个问题。根本原因是您要抓取的网站知道您不是真人,并且正在阻止您。许多网站只是通过检查标头来查看请求是否来自浏览器(robot),来完成此操作。但是,此站点看起来像他们在使用Incapsula,旨在提供更完善的保护