BeautifuSoup

正如我们所知道的那样,精准爬取一共三种方式

  1. re(正则库)
  2. beautifulsoup
  3. xpath
    现在我们就看一下beautifulsoup吧,中文叫做美味汤,将一个HTML文档转化为指定对象 然后通过对象方法或者属性去查找指定的内容,实际上是帮助我们精准爬取指定内容的语法库吧

首先安装bs4 pip install bs4 需要依赖第三方库 piip install lxml
pip安装可能太慢了,所以你可以用咱国内的源。
我一直用的是清华大学的pip镜像,下载速度很快的
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple +库名
了解更多pip镜像,参阅此网页:
https://blog.youkuaiyun.com/sinat_21591675/article/details/82770360

bs4简单使用
导入 from bs4 import beautifulsoup
1 转化为本地文件
soup = BeautifulSoup(open(‘本地文件’),‘lxml’)
2 转化为网络文件
soup = BeautifulSoup(‘字符串类型或者字节类型’,lxml)
lxml 是一个解析器

1 根据标签名查找 只能找到第一个标签
2 获取属性  
	获取所以属性 soup.a.attrs 获取a标签的所有属性,以键值对的形式
	soup.a.attrs['键名称'] 可以获取固定的值
3  获取内容
	soup.a.text
	soup.a.string  如果标签套标签,这个string是none
	soup.a.get_text()

4 find
	soup.find('a') 找到第一个符合要求的a
	soup.find('a',title='qin')
	soup.find('a',class_='du')
	soup.find('a',id='feng')
	不僅soup.find  普通div也可以find
	soup.find_all('a')   返回列表
5 find_all
   soup.find_all('a')
   soup.find_all(['a','b'])
   soup.find_all('a',limit=2)限制前兩個
6 select
	根据选择器指定内容
	常见的选择器: 标签、类选择器、id选择器、并集选择器、伪类选择器、属性选择器、层级选择器
	select 返回的永远是一个列表,需要通过下标指定对象
	soup.select('div ul li a')[3]
from bs4 import BeautifulSoup
#生成对象
soup = BeautifulSoup(open('textbs4.html',encoding='utf8'),'lxml')
div = soup.find('div',class_="tang")
print(div.select('.du').string)``

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值