爬虫之BeautifulSoup

本文详细介绍了如何使用BeautifulSoup库进行网页解析,包括创建BeautifulSoup对象、遍历文档树、搜索文档元素等关键操作。讲解了Tag、NavigableString、BeautifulSoup和Comment对象的特性和使用方法,并探讨了find_all、按关键字查找、按样式查找等多种搜索策略。
摘要由CSDN通过智能技术生成

BeautifulSoup库支持多种文档解析器,用户可以实现文档导航,查找元素,修改内容。

BeautifulSoup与lxml相比之下显得更易用

BeautifulSoup需要单独安装:

pip install beautifulsoup4

一、创建BeautifulSoup对象

使用BeautifulSoup解析文档,首先需要创建BeautifulSoup对象并指定解析器。

#首页要引用
import requests
from bs4 import BeautifulSoup

        (1)直接打开html文档

soup1 = BeautifulSoup(open("***.html", encoding='UTF-8'), 'lxml')
print(soup1.contents)

        (2)直接处理html片段

soup2 = BeautifulSoup("<html>***</html>","lxml")
print(soup2.contents)

        (3)解析爬虫抓取的网页

url = "https://www.baidu.com/"
r = requests.get(url)
soup3 = BeautifulSoup(r.text, 'lxml')
print(soup3.contents)

二、对象

在BeautifulSoup中,文档每一层级节点都被当作对象。分为以下:

        (1)Tag:与文档中的tag相同,通过元素名可以直接获取对对应内容

soup = BeautifulSoup('<div class="test1">****</div>', "lxml")
tag = soup.div
print(tag)

                1.每一个标签对象都包含name属性,且可以修改。

print(tag.name) #div
tag.name='p'
print(tag) #<p class="test1">****</p>

                2.当一个tag对象有一到多个属性时,tag属性是一个字典。可以使用tag[属性名]直接获取对应属性值

print(tag['class']) #['test1']

# 直接获取属性,返回一个字典
print(tag.attrs) #{'class':['test1']}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值