使用 BeatifulSoup 从 Oddschecker 中抓取网页

时间:2021-01-13 17:06:55

标签: python-3.x selenium web-scraping beautifulsoup scrapy

我以前可以使用 BeautifulSoup 从 https://www.oddschecker.com/ 中抓取数据,但是,现在我得到的是以下内容:

import requests
import bs4

result = requests.get("https://www.oddschecker.com/")
result.text

输出:

<html>\r\n<head><title>403 Forbidden</title></head>\r\n<body bgcolor="white">\r\n<center><h1>403 Forbidden</h1></center>\r\n<hr><center>nginx</center>\r\n</body>\r\n</html>\r\n

我想知道这是否对本网站上的所有用户都一样,或者是否有办法绕过此导航(通过另一个网络抓取包或其他代码)并访问网站上可见的实际数据。

1 个答案:

答案 0 :(得分:1)

只需添加一个用户代理。它通过禁用 js 来检测您的机器人是否存在。

url = 'https://www.oddschecker.com/'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
result = requests.get(url, headers=headers)
print(result.text)

你也可以使用硒。

from selenium import webdriver
driver.get("https://www.oddschecker.com/")
print(driver.page_source)