天天看点

爬虫解析库Beautifulsoup爬取章节小说

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过我们喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮我们节省数小时甚至数天的工作时间,因为比较流行,在解析网页的时候,操作起来也很简单和高效

以下以一个小小的案例来演示爬取小说章节

代码块

# 导入模块
import requests
from bs4 import BeautifulSoup

# 一章节的Url
url = 'http://www.quanshuwang.com/book/0/567/11135580.html'
res = requests.get(url)

# 因为网站的源代码编码是gbk,所以使用
res.encoding = 'gbk'

# 获取前端页面
html = res.text

# 实例化beautifulsoup()对象,并且传入html,使用lxml解析器
soup = BeautifulSoup(html,'lxml')

# 通过观察网页源代码发现,存在一个唯一的id属性,便可直接定位到元素,find_all()返回的是一个列表,索引取值
div = soup.find_all(attrs={'id':'content'})[0]

# 字符串拼接,需要使用strings,因为存在多个节点,string只能取出节点中含有一个字符串的标签,显然这里不仅仅只含有一个,
content = ''.join([i for i in div.strings][1:-1])       # 这里的[1:-1]作用是取出列表中的内容,而不要开头和结尾的style
print(con
           

结果显示

爬虫解析库Beautifulsoup爬取章节小说