尝试使用 urllib.reques 进行网页抓取时出错

时间:2021-02-10 22:11:28

标签: python selenium web-scraping urllib

我正在尝试获取以下网站的 html:https://betway.es/es/sports/cpn/tennis/230 以获取匹配项的名称和赔率 使用python中的代码:

from bs4 import BeautifulSoup
import urllib.request

url = 'https://betway.es/es/sports/cpn/tennis/230'
page = urllib.request.urlopen(url)
soup = BeautifulSoup(page, 'html.parser')
soup = str(soup)

但是当我运行代码时它抛出了下一个异常:HTTPError: HTTP Error 403: Forbidden 我已经看到也许使用标题是可能的,但我对这个模块完全陌生,所以不知道如何使用它们。有什么建议吗?另外,虽然我可以下载网址,但我找不到赔率,有人知道是什么原因吗?

1 个答案:

答案 0 :(得分:0)

不幸的是,我所在的国家/地区被该网站屏蔽了。
但是,使用 requests 包:

import requests as rq
from bs4 import BeautifulSoup as bs

url = 'https://betway.es/es/sports/cpn/tennis/230'
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0"}
page = rq.get(url, headers=headers)

您可以在 F12 -> Networks -> random line -> Headers Tab
中找到您的标题 因此,这是一个部分的答案。