【问题标题】:Transfermarkt webscrapping failedTransfermarkt 网页抓取失败
【发布时间】:2022-01-15 20:03:22
【问题描述】:

我创建了下面的代码来从 Transfermarkt 中抓取数据,但它给出了错误

错误


IndexError Traceback(最近一次调用最后一次) ~\AppData\Local\Temp/ipykernel_11132/2460347319.py 在 2 3 #让我们看看Players列表中的第一个名字。 ----> 4 名玩家[0].text

IndexError: 列表索引超出范围


import requests
from bs4 import BeautifulSoup
import pandas as pd

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/transfers/transferrekorde/statistik/top/plus/0/galerie/0?saison_id=2000"
pageTree = requests.get(page, headers=headers)
pageSoup = BeautifulSoup(pageTree.content, 'html.parser')

Players = pageSoup.find_all("a", {"class": "spielprofil_tooltip"})

#Let's look at the first name in the Players list.
Players[0].text

谢谢

【问题讨论】:

  • 您的 html 中似乎没有 spielprofil_tooltip 类,因此 Players 为空。这就是为什么你不能做 Players[0]。这是一个空列表。
  • Players = pageSoup.find_all("table", {'class': 'items'})

标签: python beautifulsoup jupyter


【解决方案1】:

您的链接没有指定类“spielprofil_tooltip”的标签“a”。

所以python列表是空的,零索引在值的地方有None。

Players = pageSoup.find_all("a", {"class": "spielprofil_tooltip"})
Players[0].text # convert a value that not exist raise a exception

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-01
    • 2020-06-18
    相关资源
    最近更新 更多