BeautifulSoup简单用法

作为学习爬虫的小白,把自己目前学习到的内容记录在博客中,供自己翻阅,忘记就看看,嘎嘎

言归正传,开始进入主题

1.安装bs4    pip install bs4 ,如果安装较慢,可以换国内镜像源 pip install bs4 -i xxxxx

2.安装完成之后,正式开始

3.from bs4 import  BeautifulSoup 

假设字符串

html = """

<ul>
        <li><a href="zhangwuji.com">张无忌</a></li>

        <li id="abc"><a href="zhouxingchi.com">周星驰</a></li>

        <li><a href="zhubajie.com">猪八戒</a></li>

        <li><a href="wuzetian.com">武则天</a></li>
</ul>

"""

page = BeautifulSoup(html,"html.parser") # 初始化BeautifulSoup对象

page.find("li",attrs={"id":"abc"}) # page.find("标签名",attrs={"属性":"值"}) 查找某个元素,只会找到一个结果

page.find_all("标签名",attrs={"属性":"值"}) # 找到一堆结果

li = page.find("li",attrs={"id":"abc"})   # 结果是  <li id="abc"><a href="zhouxingchi.com">周星驰</a></li>

再次查找

a = li.find("a") # <a href="zhouxingchi.com">周星驰</a> 

print(a.text) #获取文本 ,打印结果为周星驰

print(a.get("href")) #get属性值 , 打印结果为 zhouxing chi.com 

以上是find的用法,以下是find_all用法

page.find_all("li") # 此处表示查找所有的li标签,拿到是一个list,然后通过遍历,拿到a标签,然后通过text和 get分别获取文本和url

li_list = page.find_all("li")
for li in li_list:

        a = li.find("a")

        text = a.text

        href = a.get("href")

        print(text,href)

其实就是找页面标签,一层一层剥洋葱,然后用特定的方法获取到标签里面的属性的 值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值