python - python web抓取,提取标签的内部元素
问题描述
我想从在线购物网站上抓取产品和价格,需要帮助来提取标签之间的字符串
import bs4
from urllib.request import urlopen
from bs4 import BeautifulSoup as soup
my_url='https://www.flipkart.com/cameras/mirrorless~type/pr?sid=jek%2Cp31'
cl=urlopen(my_url)
page_html=cl.read()
ps=soup(page_html,'html5lib')
ps1=(ps.prettify())
cn=ps.findAll('div',{'class':'_1-2Iqu row'})
len(cn)
cn[0].div.div
#output-"<div class="_3wU53n">Canon M50 Mirrorless Camera Body with Single Lens EF-M 15-45 mm ISSTM</div>
#i need Canon M50 Mirrorless Camera Body with Single Lens EF-M 15-45 mm ISSTM
解决方案
将 cn=ps.findAll('div',{'class':'_1-2Iqu row'}) 替换为 cn=ps.findAll('div',{'class':'_1-2Iqu row'},text=真的)
推荐阅读
- google-apps-marketplace - 内部发布的插件版本不断重置
- python - 实例
在 commit() 之后已被删除,但何时以及为什么? - apache - SOLr:仅当特定字段为“未定义”时才返回结果
- git - 修复从错误分支的分支
- r - 如何在 R 中重复训练和测试 10 次
- python - AttributeError:“响应”对象没有属性“标签”drf-yasg
- php - 将数组列与该数组列的转换相加
- windows - 在 Windows 下构建 chromium:ninja -libpath 无法识别空间(即使在引用路径中!)
- php - 包含没有 .phar 扩展名的 PHP PHAR
- vaadin - Vaadin 8:如何在网格中显示全尺寸图片?