我正在嘗試從該網站上抓取資料(姓名、年齡、團隊)- https://sofifa.com/players?offset=0。當我嘗試使用soup.findAll() 查找相關資料時,我得到了一個空串列。
import pandas as pd
import re
import requests
from bs4 import BeautifulSoup
k=[]
url="https://sofifa.com/players?offset=0"
resp=requests.get(url)
soup=BeautifulSoup(resp.content,'lxml')
for omk in soup.find_all('><div class="bp3-text-overflow-ellipsis">'):
k.append(str(omk))
print(k)
我閱讀了一些提到標簽和類的答案,但我不知道這些。
uj5u.com熱心網友回復:
根據您的問題,這是一個作業解決方案的示例:
代碼:
import pandas as pd
import re
import requests
from bs4 import BeautifulSoup
k = []
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36'}
url = "https://sofifa.com/players?offset=0"
resp = requests.get(url, headers = headers)
soup = BeautifulSoup(resp.content, 'lxml')
for omk in soup.select('table.table.table-hover.persist-area tbody tr'):
name = omk.select_one('td.col-name a:nth-child(1) div').get_text(strip=True)
print(name)
輸出:
M. Sarr
é. Mendy
P. Daka
F. Wirtz
J. Timber
C. De Ketelaere
Cristiano Ronaldo
D. Maldini
J. Bellingham
Lucas Paquetá
Gavi
Antony
A. Sp?rle
K. Adeyemi
E. Haaland
D. Kamada
M. Salah
N. Madueke
A. Tchouaméni
M. Greenwood
M. Lacroix
R. Gravenberch
Pedri
J. Gvardiol
N. Lang
Raphinha
A. Hlo?ek
J. Musiala
F. Chiesa
L. Messi
B. Brereton Díaz
R. Cherki
D. Vlahovi?
Ansu Fati
Pedro Benito
G. Raspadori
Yeremy Pino
Y. Tielemans
K. Mbappé
E. Camavinga
D. Scarlett
A. Bastoni
J. Sancho
T. Hernández
A. Davies
J. Koundé
A. Saint-Maximin
H. Elliott
S. Tonali
A. Broja
A. Isak
M. Vandevoordt
P. Foden
F. Kessié
J. Doku
E. Tapsoba
K. Mitoma
Luiz Felipe
Nuno Mendes
S. Dest
uj5u.com熱心網友回復:
您的代碼片段存在一些問題。
首先是您需要在實體化BeautifulSoup實體時指定一個 HTML 決議器:
soup=BeautifulSoup(resp.content,'html.parser')
然后,在搜索類為 的div元素時bp3-text-overflow-ellipsis,正確的語法如下:
soup.find_all("div", class_="bp3-text-overflow-ellipsis")
這是與以下相關的檔案find_all:https : //www.crummy.com/software/BeautifulSoup/bs4/doc/#find-all
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/320996.html
上一篇:當似乎存在時索引超出范圍
