下面介绍一下BeautifulSoup
和Parsel
的用法
<ul id="J_UlThumb" class="tb-thumb tb-clearfix">
<li class="tb-selected" >
<div class="tb-pic tb-s50">
<a href="#"><img data-src="//gd2.alicdn.com/imgextra/i1/3182511188/O1CN01ZWKx7o1Ke9IzG4XFA_!!3182511188.jpg_50x50.jpg" /></a>
</div>
</li>
<li class="tb-selected" >
<div class="tb-pic tb-s50">
<a href="#"><img data-src="//gd2.alicdn.com/imgextra/i1/3182511188/O1CN01ZWKx7o1Ke9IzG4XFA_!!3182511188.jpg_50x50.jpg" /></a>
</div>
</li>
</ul>
现在我想要得到img
标签里的data-src
属性
把上面这些获取到的内容用json_data
保存
第一种方式先用BeautifulSoup
soup = BeautifulSoup(json_data, 'html.parser')
clearfix = soup.select('ul[class="tb-thumb tb-clearfix"]')
for i in clearfix:
for ii in i.find_all('img'):
data_src = ii.get('data-src')
print(data_src)
第二种方式Parsel
# Parsel的用法, 使用Selector类结合re
selector = Selector(json_data)
clearfix = selector.css(
'ul[class="tb-thumb tb-clearfix"]').re('data-src="(.*?)"')
两种方式都可以拿到html中的数据
据说第二种更快一些
如果是获取标签内的内容
<h3 class="tb-main-title">新款现货Apple/苹果 iPhone 14 Pro Max官方正品手机14Pro灵动岛</h3>
tbRmbNum = selector.css('h3[class="tb-main-title"] ::text').get()