爬虫--Beautiful Soup的使用 bs4

pip instal beautiful soup4 --下载第三方库
中文文档敬上

#测试文本
HTML = '''
<div class="item pc-version">
		<img src="https://d-image.i4.cn/i4web/static2017/images/pc_banner.jpg" alt="" title="">
		<img class="pc-open" src="https://d-image.i4.cn/i4web/static2017/images/index_pc_text.jpg" alt="" title="">
		<div class="item-info">
			<ul class="info-present">
				<li id="1">具有独创的云智能一键刷机和一键越狱功能</li>
                <li id="1">简单易用的备份恢复,数据迁移等高级工具</li>
                <li id="1">免帐号,免越狱高速安装海量的应用和游戏</li>
                <li>铃声壁纸彩铃等海量个性化资源任你使用</li>
			</ul>
			<a href="http://url.i4.cn/faIfqyaa" onclick="downStart('7', 'V7.98.18');" class="version-box windows-version" id="install1" data-agl-cvt="6">

			</a>
			<a href="javascript:;" class="version-box mac-version mac-title-show downloadPopup" id="install2" data-agl-cvt="6"></a>
			<div class="mac-titles-two" style="opacity: 0; right: -144px;">
				OS X Catalina 10.15或以上
				系统,安装后请使用右键打开
			</div>
		</div>
</div>
'''

获取soup对象

soup = BeautifulSoup(HTML,'html.parser')			--得到一个soup对象

data = soup.prettify()                       		--按照标准的缩进格式的结构输出

简单的浏览结构化数据的方法

li = soup.div.li						--获取第一个div标签中的l第一个li标签
print(li)

li = soup.li							--获取第一个li标签
print(li.string)						--输出li标签中的文本


li = soup.img							--获取第一个img标签
print(li)


li = soup.li
print(li.name)							--获取当前标签的标签名




li = soup.img['src']					--获取第一个img标签中的src属性的值(id属性,class属性都可以获取)
print(li)
li = soup.img							--同上,get方法取src值,取不到返回第二个参数
print(li.get('src','1'))						


li =soup.li								--获取第一个li标签的文字信息,在获取文字信息的父节点
print(li.string.parent)					--输出为:<li>具有独创的云智能一键刷机和一键越狱功能</li>







#获取全部标签与根据条件查询标签
img = soup.find_all('img')			--获取全部img标签,可以根据索引来取出数据,或者使用get方法
print(img[0])						--输出索引为0的元素
print(img.get(''))


li = soup.find('li',attrs={'id':'1' })
print(li)							--查询第一个li标签中id等于1的标签,也可以写为(soup.find('li',id='1'))





li = soup.find_all(['a',])				--查询所有a标签,可以是多条件
print(li)


li = soup.find_all(id='1')			--查询id=1的所有标签
print(li)


li = soup.find_all('li',id='1')		--查询li标签中所有id等于1的所有标签
print(li)

li = soup.find_all('a',attrs={'href':'javascript:;' })	--可以给attrs参数,类型为字典
print(li)												--查询a标签中所有href邓毅javascript的标签




注意:条件可以为True。

	
实例:
	
li = soup.find_all('a',True)
for i in range(0,len(li)):
    print(f'{i}:{li[i].get("href")}')			--获取所有a标签中的href属性

获取所有文档中所有文字内容

print(soup.get_text())						-- 全部文字内容
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

像风一样的男人@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值