python爬虫数据解析之bs4

步骤:
1、导入bs4库

from bs4 import BeautifulSoup

2、获取soup对象

#html为你获取的网页源代码,将html转化为特定的格式lxml
#为后面提取信息做准备
soup=BeautifulSoup(html,'lxml')

3、利用方法选择器解析
find_all()##查询所有符合条件的节点信息,例如soup.find_all(name=“h4”),查询所有节点名称为h4的节点信息

for ul in soup.find_all(name="ul"):#寻找名为ul的结点
    print(ul)
    for li in ul.find_all(name="li"):#寻找ul结点下名为li的结点
        print(li.string)

细节:find_all()方法中可以结合多个条件进行结点的寻找,例如可以寻找名为div的结点下class为contson的结点,当寻找准确的class结点信息时,要用class_="",不然会报错。
例子:

for content in word.find_all(name="div",class_='contson'):

4、利用css选择器进行解析(更快速)
思想:利用css中的结点层级关系准确找到某种信息的位置,select()方法,div>ul>li意思是寻找层级div下的ul下的li的内容
例子:

for li in soup.select("ul>li"):
    print(li.text)

关系:可以利用css选择器中的select()和方法选择器中的find_all()搭配使用,使得数据提取更加简单
例如:

#获取div下的div下的div下的div层的信息
 for word in soup.select("div>div>div>div"):
 #获取word中结点名为b的文本信息
                for title in word.find_all(name='b'):
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值