bs4的简单介绍
1.bs4介绍
BS4全称是Beatiful Soup,它提供⼀些简单的、python式的函数⽤来处理导航、搜索、修改分析树等功能。它是⼀个⼯具箱,通过解析⽂档为tiful Soup⾃动将输⼊⽂档转换为Unicode编码,输出⽂档转换为utf-8编码。
2.应⽤
#下载
pip install bs4
#使⽤步骤
from bs4 import BeautifulSoup
soup = ,'lxml')
tag=soup.select("CSS选择器表达式")
其中,CSS选择器分为四种
(1)根据节点及节点层次关系定位标签:标签选择器和层次选择器
soup.select('title')
#单层选择器
soup.select('div > ul > li')
#多层选择器
soup.select('div > li')
(2)根据节点的class属性定位标签:class选择器
soup.select('.item')
(3)根据id属性定位标签:id选择器
soup.select('#item')
(4)嵌套选择
url_list = soup.select('url')
for url in url_list:
print(url.select('li'))
3.作⽤
bs4:能够快速⽅便简单的提取⽹页中指定的内容,给我⼀个⽹页字符串,然后使⽤它的接⼝将⽹页字符串⽣成⼀个对象,然后通过这个对象的⽅法来提取数据。
lxml是⼀个解析器,也是下⾯的xpath要⽤到的库,bs4将⽹页字符串⽣成对象的时候需要⽤到解析器,就⽤lxml。
4.了解
Beautiful Soup库是解析、遍历、维护“标签树”的功能库。
BeautifulSoup对应⼀个HTML/XML⽂档的全部内容。
5.案例
简单网页#导⼊写⼊⽂件路径模块
import os
#导⼊请求模块
import requests
#导⼊库
from bs4 import BeautifulSoup
#请求路由
base_url = 'b.faloo/y_0_0_0_0_6_1_1.html'
#请求头
headers = {
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4385.0 Safari/537.36'
}
#实例化
res = (url=base_url, headers=headers)
#判断是否访问
if res.status_code == 200:
#初始化
bs = , 'lxml')
#查询
index = bs.select('.TwoBox02_08 > h1 > a')
#章节
index_num = 1
for i in index:
base_url1 = 'https:' + i['href']
res2 = (url=base_url1, headers=headers)
bs1 = , 'lxml')
#查询⽬录
ml = bs1.select('.DivTd > a')
#⽬录名字
ml_name = bs1.select('.muluh2 > h2')
#标题名字
title_name = ml_name[0].get_text()
#创建⽂件
os.makedirs(title_name)
index_ml = 1
for j in ml:
base_url2 = 'https:' + j['href']
res3 = (url=base_url2, headers=headers)
bs2 = , 'lxml')
title = j.get_text()
content = bs2.select('.noveContent')
#将内容写⼊⽂件
with open(f'{title_name}/[{index_ml}]{title}', 'w', encoding='utf_8')as f:
f.write(content[0].get_text())
index_ml += 1
index_num += 1
print(f'--------已完成{index_num}章节---------')
else:
print('error')
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论