当前位置:   article > 正文

1-4 python爬取笔趣阁小说(附带完整代码)_脔仙

脔仙

笔趣看是一个盗版小说网站,这里有很多起点中文网的小说,该网站小说的更新速度稍滞后于起点中文网正版小说的更新速度。并且该网站只支持在线浏览,不支持小说打包下载。所以可以通过python爬取文本信息保存,从而达到下载的目的

以首页的《一念永恒》作为测试:

1、先查看第一章地址中的html文本:https://www.biqukan.com/1_1094/5403177.html

通过requests库获取:

  1. # -*- coding:UTF-8 -*-
  2. import requests
  3. if __name__ == '__main__':
  4. target = 'http://www.biqukan.com/1_1094/5403177.html'
  5. req = requests.get(url=target)
  6. print(req.text)

运行代码,可以看到如下结果:(获取到他的html文本,你可以通过chrome审查元素来对照)

2

可以看到,我们很轻松地获取了HTML信息。但是,很显然,很多信息是我们不想看到的,我们只想获得如右侧所示的正文内容,我们不关心div、br这些html标签。如何把正文内容从这些众多的html标签中提取出来呢?这就是本次实战的主要内容。

 

Beautiful Soup

爬虫的第一步,获取整个网页的HTML信息,我们已经完成。接下来就是爬虫的第二步,解析HTML信息,提取我们感兴趣的内容。对于本小节的实战,我们感兴趣的内容就是文章的正文。提取的方法有很多,例如使用正则表达式、Xpath、Beautiful Soup等。对于初学者而言,最容易理解,并且使用简单的方法就是使用Beautiful Soup提取感兴趣内容。

Beautiful Soup的安装方法和requests一样(我安装的是3.7版本):

pip3 install beautifulsoup4

Beautiful Soup中文的官方文档:http://beautifulsoup.readthedocs.io/zh_CN/latest/ 

通过google chrome中审查元素方法,查看一下我们的目标页面,你会看到如下内容:

3

可以看到文本内容都放置在<div id="content", class="showtxt">这个标签中 ,这样就可以开始通过库来获取这个标签中的内容:

  1. # -*- coding:UTF-8 -*-
  2. from bs4 import BeautifulSoup
  3. import requests
  4. if __name__ == "__main__":
  5. target = 'http://www.biqukan.com/1_1094/5403177.html'
  6. req = requests.get(url = target)
  7. bf = BeautifulSoup(req.text)
  8. #查询所有div标签,并且class'showtxt'
  9. texts = bf.find_all('div', class_ = 'showtxt') print(texts)

获取到如下内容: 

4

我们可以看到,我们已经顺利匹配到我们关心的正文内容,但是还有一些我们不想要的东西。比如div标签名,br标签,以及各种空格。怎么去除这些东西呢?我们继续编写代码:

  1. # -*- coding:UTF-8 -*-
  2. from bs4 import BeautifulSoup
  3. import requests
  4. if __name__
本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/825121
推荐阅读
相关标签
  

闽ICP备14008679号