【发布时间】:2020-08-02 19:09:28
【问题描述】:
我目前正在尝试建立一个 MMA 博客/统计网站,为此,我正在抓取 UFC 网站以获取每位运动员的信息。我正在使用 Beautiful Soup 和 Python。
到目前为止,我已经成功地抓取了一名运动员的姓名,但是,当我循环访问时,它只会重复第一个运动员的姓名,而不是显示下一个运动员的姓名,依此类推。
from bs4 import BeautifulSoup
import requests
source = requests.get('https://www.ufc.com/athletes/all').text
soup = BeautifulSoup(source, 'lxml')
for fighter in soup.find_all('li', attrs={'class': 'l-flex__item'}):
# nickname = fighter.span.text
name = soup.find('span', class_='c-listing-athlete__name').text
record = soup.find('span', class_='c-listing-athlete__record').text
print(name, end='')
这是我终端的输出: What happens when I print my code
如果有人能指出我在 for 循环逻辑中犯的任何错误,我将不胜感激。谢谢!
【问题讨论】:
-
你没有在循环中的任何地方使用
fighter。 -
谢谢!我完全忘记在循环本身中使用它 smh haha
标签: python web-scraping beautifulsoup