书海小说网是一个收费网站,咱们这里只是以免费的章节为例,简单的爬取分析一下
书海小说网站网址: http://www.shuhai.com
爬虫三步操作;
1.获取整个网页的HTML信息
2.解析HTML信息,提取我们需要的内容
3.根据需要需求输出控制台或者写入文档
实战操作:
我们以隐形守护者的第一章为例 http://www.shuhai.com/read/55929/1.html
我们首先获取一些页面HTML信息,编写代码如下:
import requests
if __name__ == '__main__':
src = 'http://www.shuhai.com/read/55929/1.html'
req = requests.get(url=src)
html = req.text
print(html)
程序运行结果如下所示:
通过运行结果我们可以看出,已经返回了页面代码信息,而主要的小说内容都是在p标签里,其余的信息我们是不需要的,所以我们需要想办法把我们需要的信息提取出来,
这里我们使用BeautifulSoup提取我们需要的信息,提取的方法有很多种,但是对于初学者说BeautifulSoup容易理解,容易使用,所以这里我们使用BeautifulSoup
安装BeautifulSoup pip install BeautifulSoup(我的电脑安装各种库时需要使用的是pip install --user BeautifulSoup)
BeautifulSoup也有自己的中文文档 http://beautifulsoup.readthedocs.io/zh_CN/latest/
针对网页源代码我们可以发现对于我们需要的内容<div>标签里是没有可操作的属性,所以我们直接对<p>操作,代码如下:
import requests
from bs4 import BeautifulSoup
if __name__ == '__main__':
src = 'http://www.shuhai.com/read/55929/1.html'
req = requests.get(url=src)
html = req.text
bf = BeautifulSoup(html)
for tetxs in bf.find_all('p'):
print(tetxs.text)
运行结果如下图:
到这里,我们已经简单的把第一章的内容爬取出来了, 后续根据需求我们可以直接写入文本等操作
欢迎访问我的公众号:小衲分享