【问题标题】:DataScraping in PythonPython中的数据抓取
【发布时间】:2020-03-01 17:06:49
【问题描述】:

我正在尝试从 https://www.transfermarkt.co.uk/premier-league/startseite/wettbewerb/GB1 抓取数据

我已使用此代码来执行此操作:

headers = {'User-Agent': 
           'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36'}

page = 'https://www.transfermarkt.co.uk/premier-league/startseite/wettbewerb/GB1'
pageTree = requests.get(page, headers=headers)
pageTree_text = pageTree.text

pageSoup = BeautifulSoup(pageTree_text, 'html.parser')

之后,我想找到与每个团队名称相关的所有链接,并使用此代码:

linkLocation = pageSoup.find_all("a", {"class": "vereinprofil_tooltip tooltipstered"})
linkLocation[0].text

输出:


IndexError Traceback(最近一次调用最后一次) 在 1 linkLocation = pageSoup.find_all("a", {"class": "vereinprofil_tooltip tooltipstered"}) ----> 2 链接位置[0].text

IndexError: 列表索引超出范围

为什么列表中没有任何链接?

谢谢!

【问题讨论】:

    标签: python web-scraping


    【解决方案1】:

    "tooltipstered" 类是 javascript 添加的,在服务器返回的纯 html 文档中不可用。 您可以在不使用浏览器检查器打开页面的“源”时看到。

    您可以看到“tooltipster”是一些 jquery 插件,您需要使用其他工具来抓取此页面(例如:selenium)。

    <script type="text/javascript" src="https://tmssl.akamaized.net//assets/e17e6900/js/jquery.tooltipster.js?lm=1574952016"></script>
    

    【讨论】:

    • 嗨所以我无法使用 Python 和 BeautifulSoup 从这个页面抓取数据?
    • 您可以使用 python,但不能单独使用 BeautifulSoup。你可以试试这个答案:stackoverflow.com/questions/49939123/…
    猜你喜欢
    • 2011-11-06
    • 2017-09-04
    • 1970-01-01
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多