为了账号安全,请及时绑定邮箱和手机立即绑定

beautifulsoup find_all 标题

beautifulsoup find_all 标题

红糖糍粑 2023-10-18 20:52:28
html 是<div class="trn-defstat__value">    <img src="https://trackercdn.com/rainbow6-ubi/assets/images/badge-ash.16913d82e3.png" title="ASH" style="height:    35px; padding-right: 8px;">     <img src="https://trackercdn.com/rainbow6-ubi/assets/images/badge-jager.600b2773be.png" title="JÄGER"   style="height: 35px; padding-right: 8px;">    <img src="https://trackercdn.com/rainbow6-ubi/assets/images/badge-bandit.385144d970.png" title="BANDIT"     style="height: 35px; padding-right: 8px;"></div>我想获得每个标题的值。但在此之前,我是这样写的from bs4 import BeautifulSoup as bsimport requestsbsURL = "https://r6.tracker.network/profile/pc/Spoit.GODSENT"respinse = requests.get(bsURL)html = bs(respinse.text, 'html.parser')title = html.find_all(class_='trn-defstat__value')[4]print(title)结果-><div class="trn-defstat__value"><img src="https://trackercdn.com/rainbow6-ubi/assets/images/badge-ash.16913d82e3.png" style="height: 35px; padding-right: 8px;" title="ASH"/><img src="https://trackercdn.com/rainbow6-ubi/assets/images/badge-jager.600b2773be.png" style="height: 35px; padding-right: 8px;" title="JÄGER"/><img src="https://trackercdn.com/rainbow6-ubi/assets/images/badge-bandit.385144d970.png" style="height: 35px; padding-right: 8px;" title="BANDIT"/></div>我应该怎么办?
查看完整描述

3 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

该脚本将打印<img>“顶级操作员”部分的所有标题:


from bs4 import BeautifulSoup as bs

import requests



bsURL = "https://r6.tracker.network/profile/pc/Spoit.GODSENT"

respinse = requests.get(bsURL)

html = bs(respinse.text, 'html.parser')


# find Top Operators tag

operators = html.find(class_='trn-defstat__name', text='Top Operators')


for img in operators.find_next('div').find_all('img'):

    print(img['title'])

印刷:


ASH

JÄGER

BANDIT

或者使用CSS:


for img in html.select('.trn-defstat__name:contains("Top Operators") + * img'):

    print(img['title'])


查看完整回答
反对 回复 2023-10-18
?
忽然笑

TA贡献1806条经验 获得超5个赞

只需使用.get()函数获取属性并传入属性名称即可。


pip install html5lib

我建议你使用它,我相信它是一个更好的解析器。


from bs4 import BeautifulSoup as bs 

import requests   

bsURL = "https://r6.tracker.network/profile/pc/Spoit.GODSENT" 


respinse = requests.get(bsURL) 




html = bs(respinse.content, 'html5lib')   



container = html.find("div", class_= "trn-defstat mb0 top-operators")



imgs = container.find_all("img")



for img in imgs:

     print(img.get("title"))

我似乎不明白您想要抓取网站的哪一部分,但请注意有时会先获取blockhtml 代码,其中包含您想要抓取的详细信息:)


查看完整回答
反对 回复 2023-10-18
?
不负相思意

TA贡献1777条经验 获得超10个赞

只需使用.get()函数获取属性并传入属性名称即可。


pip install html5lib

我建议你使用它,我相信它是一个更好的解析器。


from bs4 import BeautifulSoup as bs 

import requests   

bsURL = "https://r6.tracker.network/profile/pc/Spoit.GODSENT" 


respinse = requests.get(bsURL) 




html = bs(respinse.content, 'html5lib')   



container = html.find("div", class_= "trn-defstat mb0 top-operators")



imgs = container.find_all("img")



for img in imgs:

     print(img.get("title"))

我似乎不明白您想要抓取网站的哪一部分,但请注意有时会先获取blockhtml 代码,其中包含您想要抓取的详细信息:)


查看完整回答
反对 回复 2023-10-18
  • 3 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号