python - Webscraping bs4,无法弄清楚如何获得结果
问题描述
我目前正在尝试title = "XFX"
从以下位置获取价值:
<a class="item-brand" href="https://www.newegg.com/XFX/BrandStore/ID-1669">
<img alt="XFX" class="lazy-img" data-effect="fadeIn" data-src="//c1.neweggimages.com/Brandimage_70x28//Brand1669.gif" src="//c1.neweggimages.com/WebResource/Themes/2005/Nest/blank.gif" title="XFX">
</img></a>
目前我正在使用这个python代码来访问它,但找不到
brand_container = container.findAll("a", {"class":"item-brand"})
brand = brand_container[0].title
我不知道在 brand = brand_container 之后放什么才能获得title =
价值
解决方案
标题属性在图像标签而不是锚标签下。您可以使用find_all
或 css 选择器select
from bs4 import BeautifulSoup
html='''<a class="item-brand" href="https://www.newegg.com/XFX/BrandStore/ID-1669">
<img alt="XFX" class="lazy-img" data-effect="fadeIn" data-src="//c1.neweggimages.com/Brandimage_70x28//Brand1669.gif" src="//c1.neweggimages.com/WebResource/Themes/2005/Nest/blank.gif" title="XFX">
</img></a>'''
container=BeautifulSoup(html,'html.parser')
brand_container = container.find_all("a", class_="item-brand")
for brand in brand_container:
print(brand.find_next('img')['title'])
或CSS 选择器
for brand in container.select(".item-brand>img"):
print(brand['title'])
推荐阅读
- javascript - 如何修复代码,以便仅针对点击的国家/地区显示附加卡?
- javascript - 如何使用 javascript/jquery 验证 pkcs#7 格式的签名消息
- python - 如何循环遍历熊猫数据框中列中的每一行
- python - BeautifulSoup 和 Selenium 抓取网页,汤不反映更新的 HTML
- javascript - 阻止模态内容默认打开
- mysql - Redis 连接到 my-redis:6379 失败 - 运行种子时 getaddrinfo ENOTFOUND
- node.js - 由于与 babel 的依赖关系,安装 react 时出现问题
- bash - wp-cli 表输出到变量-> wlack webhook
- bluetooth - 每个信标可以跟踪多少个BLE设备以进行室内定位?
- c# - Sublime Text 3 自动缩进 my } else { 行