爬虫4——BeautifulSoup

本文介绍了如何安装和使用BeautifulSoup库进行网页解析,探讨了re, lxml和bs4之间的区别,并详细讲解了解析字符串和获取数据的方法。" 82529148,5761580,深度学习框架详解:Tensorflow、Keras、Caffe、Mxnet与PyTorch,"['深度学习', '工具', 'Tensorflow', 'Keras', 'PyTorch']
摘要由CSDN通过智能技术生成

5.BeautifulSoup

5.1 安装

pip install beautifulsoup4

5.2 re lxml bs4的区别

工具速度使用难度
正则最快最难
lxml较快一般
BeautifulSoup最简单

7.4 解析字符串

str1='<div>这是测试div</div>'
soup = BeautifulSoup(str1,'lxml')
print(soup)

注意:使用 BeautifulSoup时会自动选择系统最佳的解释器,也可以自己指定lxml

7.5 获取数据

from bs4 import BeautifulSoup
import re

soup = BeautifulSoup(html_str,'lxml')

# tag标签获取数据  soup对象名.标签名
print(soup.title)
print(soup.title.text)
print(soup.a)

#获取当前标签所有属性,数据类型是字典
print(soup.a.attrs)
print(type(soup.a.attrs))

#获取指定属性
print(soup.a['href'])
print(soup.a.get('href'))

tag_list = soup.find_all('i')
print(tag_list[5])
print(len(tag_list))
soup.find()
#  ^表示以什么开头,$表示以什么结尾
tag_list = soup.find_all(re.compile('^d'))
print(len(tag_list))

print(len(tag_list))
print(tag_list)

tag_list = soup.find_all(['dic','a'])

#搜索文档中所有的字符串
tag_list = soup.find_all(text=2570)
print(tag_list)
tag_list = soup.find_all(class_='easyList')
print(tag_list)
tag_list = soup.find_all(id='roomFrom')
print(tag_list)

#css选择器
print(soup.select('title'))
print(soup.select('#roomFrom'))  #id选择器是  #
print(soup.select('.easyList'))  #class选择器的  .
soup.select_one()

#组合查找中间用空格隔开
# print(soup.select('ul .easyList'))
print(soup.select('ul[class="easyList"]'))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值