程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

Python 3 BS4 - 在指定的 <tr> 中返回第一个 <td>

发布于2021-10-23 03:29     阅读(716)     评论(0)     点赞(30)     收藏(3)


希望获得 HTML 表格行中的第一个值。HTML 表格行看起来像:

Buy       Sell       Sell

...我的代码看起来像:

page = requests.get(url)
soup = BeautifulSoup(page.text, 'html.parser')
table = soup.findAll('tr', {'class' :'last'})
for r in range(len(table)):
    print(table[r].text)

...目前返回:

Buy
Sell
Sell

...应该如此,但是我只想检索“购买”值。如果有帮助,该值的 HTML 定位器是

td class = "current" .... </td

我试过在我的代码中使用切片功能 [1]、[-1]、[1:1] 等,但似乎无法弄清楚。有人可以帮忙吗?太感谢了。


解决方案


您可以使用.find()而不是.findAll()获取第一个匹配项:

soup.find('tr', {'class': 'last'}).get_text()

或者,如果您需要访问 first 的第一个内部td元素tr

soup.find('tr', {'class': 'last'}).td.get_text()

where.td是 的简写.find("td")


或者,您可以强制执行current类检查(假设您要查找内部td元素的内容):

soup.select_one("tr.last td.current").get_text()

哪里tr.last td.current是一个CSS 选择器,它将匹配td具有current类的tr元素具有类的元素last




所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.qianduanheidong.com/blog/article/208446/c150047c514feb2a3326/

来源:前端黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

30 0
收藏该文
已收藏

评论内容:(最多支持255个字符)