【发布时间】:2020-05-03 04:30:44
【问题描述】:
如何从该 HTML 代码中获取文本“Lionel Messi”?
<a href="/20/player/44079/lionel-messi" class="player_name_players_table">Lionel Messi</a>
这是我目前的代码:
import requests
import urllib.request
import time
from bs4 import BeautifulSoup
page = requests.get('https://www.futbin.com/players')
soup = BeautifulSoup(page.content, 'lxml')
pool = soup.find(id='repTb')
player_names = pool.find_all(class_='player_name_players_table')
print(player_names[0])
当我打印 player_names 时,我得到这个结果:
/Users/ejps/PycharmProjects/scraper_players/venv/bin/python /Users/ejps/PycharmProjects/scraper_players/scraper.py
<a class="player_name_players_table" href="/20/player/44079/lionel-messi">Lionel Messi</a>
Process finished with exit code 0
但是我必须输入什么代码才能只获取它的文本?
我想在我的代码中从该页面中抓取所有玩家姓名。但首先我需要找到一种方法来提取我认为的文本。
不幸的是,无法找到使其工作的方法。
我是python新手,尝试做一些项目来学习它。
编辑:
在 cmets 的帮助下,我得到了我需要的文本。
我这里只有一个问题。
是否可以仅通过部分文本找到class_?
像这样:
prating = pool.find_all(class_='form rating ut20')
完整的课程是
class="form rating ut20 toty gold rare"
但它正在改变。始终相同的部分是“form rating ut20”,所以我想也许有某种占位符可以让我搜索所有“class”名称,包括“form rating ut20”
你能帮我解决这个问题吗?
【问题讨论】:
-
你应该把它分成两个不同的问题。
标签: beautifulsoup get python-requests