簡體   English   中英

使用 BeautifulSoup 從 transfermarkt 頁面上抓取數據

[英]Scraping data off transfermarkt page using BeautifulSoup

我正在嘗試使用 BeautifulSoup 從此頁面中抓取表格並將其放入 DataFrame 中。 目前我已經嘗試過

from bs4 import BeautifulSoup
import requests
import pandas as pd
r = requests.get("https://www.transfermarkt.co.uk/laliga/legionaereeinsaetze/wettbewerb/ES1/saison_id/2020/altersklasse/alle/option/spiele/plus/1", headers= {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0"})
soup = BeautifulSoup(r.content, "html.parser")

results = soup.find_all("tbody")[1].find_all("a")
for result in results:
    print(result.text)

我得到的結果是

Athletic
27
26
1
99.9 %
0.1 %

CA Osasuna
28
22
6
84.5 %
15.5 %

SD Huesca
27
20
7
82.7 %
17.3 %
...

我曾嘗試使用print(result.text[0])對數據進行切片以嘗試拆分結果,但在嘗試將其轉換為 DataFrame 時沒有成功。 還有其他方法可以做到這一點嗎?

首先找到該表並使用pd.read_html將表解析為str它將作為列表返回並從中創建df

results = soup.find("table",class_="items")
df=pd.read_html(str(results))[0]

df.drop(columns=['wappen',"% minutes foreign players"],inplace=True)
df.columns=['Club', 'Players used', 'Non-foreigners played',
       'Used foreign players', '% minutes non-foreigners',
       '% minutes foreign players']

圖像: 在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM