【问题标题】:Error when trying to web scraping with urllib.reques尝试使用 urllib.request 进行网络抓取时出错
【发布时间】:2021-02-10 22:11:28
【问题描述】:

我正在尝试获取以下网站的 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 我已经看到也许可以使用标题,但是我对这个模块是全新的,所以不知道如何使用它们。有什么建议吗?另外,虽然我可以下载网址,但我找不到几率,有人知道可能是什么原因吗?

【问题讨论】:

    标签: python selenium web-scraping urllib


    【解决方案1】:

    不幸的是,我所在的国家/地区被本网站屏蔽。
    但是,使用 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 -> 网络 -> 随机行 -> 标题选项卡中找到您的标题
    因此,这是一个部分答案。

    【讨论】:

    • 感谢您的回复,这是有效的,但没有解决我的问题,因为赔率数字没有出现在页面代码中。抱歉,如果我没有解释清楚,但我想要一种方法来访问该页面以获取比赛名称和赔率。你知道赔率没有出现吗?
    • 对不起,我无法前进:"""对不起,您正在从受限国家访问 Betway"""
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    • 2022-12-18
    • 2013-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多