【发布时间】:2021-08-22 23:30:35
【问题描述】:
我正在尝试从这个页面抓取球员数据,作为个人的经验: https://sofifa.com/players 所以我想获取在这种 HTML 行中的玩家 ID:
<td class = "col col-pi" data-col="pi"> 11111 </td>
所以我要做的是: 我先喝汤
url = 'http://sofifa.com/players'
def soup_making(url):
my_page = requests.get(url)
soup = bs(my_page.text, "html.parser")
return soup
soup = soup_making(url)
我尝试用 find_all 进行 scraping:
test = soup.find_all('td',{'class':'col col-pi'})
print(test)
输出是[],这个方法对同一页面的其他类都有效,但是对于这个特定的“col col-pi”以及其他一些类似“col col-name”的类,它不起作用,但如果我把这个刮掉:
<td class = "col col-ae" data-col="ae"> 26 </td>
test = soup.find_all('td',{'class':'col col-ae'})
print(test)
这行得通,当我对两者使用相同的方法时,有谁知道为什么要使用某些类而不是其他类?你推荐一个更好的方法吗?
感谢@myz540 的回答太奇怪了,没有选择所有的 td 类,这是我看到的源代码的图像: Example of the sofifa source code td classes
【问题讨论】:
标签: python html web-scraping beautifulsoup css-selectors