我的串列xfrs,當我轉換它時回傳一個空白的 DF....有沒有人看到代碼有任何問題?
我可以很好地附加和列印串列,但是當我附加時,DFtransfers是空白的。
url2 = 'https://247sports.com/Season/2020-Football/TransferPortalPositionRanking/'
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36'}
response = requests.get(url2, headers = headers)
soup = BeautifulSoup(response.content, 'html.parser')
xfrs = []
schools = []
for li in soup.findAll('li', attrs={'class':'transfer-player'}):
xfrs.append(li.find('a').contents)
schools.append(li.find('li', attrs={'class':'destination'}))
transfers = pd.DataFrame(xfrs, columns=['Players'])
print(transfers)
uj5u.com熱心網友回復:
如前所述,.contents回傳一個 BeautifulSoup 物件串列,因此您需要使用例如.text來獲取名稱。還要注意您的選擇,它應該更具體。
將抓取的資料存盤在資料框中嘗試將其收集為字典串列:
data.append({
'Player':li.h3.text,
'Destination':destination['alt'] if (destination:=li.select_one('img[]')) else None
})
例子
import requests,json
from bs4 import BeautifulSoup as bs
url2 = 'https://247sports.com/Season/2020-Football/TransferPortalPositionRanking/'
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36'}
response = requests.get(url2, headers = headers)
soup = BeautifulSoup(response.content, 'html.parser')
data = []
for li in soup.find_all('li', attrs={'class':'transfer-player'}):
data.append({
'Player':li.h3.text,
'Destination':destination['alt'] if (destination:=li.select_one('img[]')) else None
})
pd.DataFrame(data)
輸出
| 播放器 | 目的地 |
|---|---|
| JT丹尼爾斯 | 喬治亞州 |
| KJ科斯特洛 | 密西西比州 |
| 杰米紐曼 | 喬治亞州 |
| ... | ... |
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/401194.html
下一篇:網頁抓取:使用BeautifulSoup(page.content,'html.parser')沒有回傳正確的內容
