Python3爬取免费小说网小说

一、准备工作

第一步,先查看一下python3是否有requests 和 BeautifulSoup4 这两个模块

1) 在命令行中输入python, 进入编辑模式
2) 输入下面指令:

import requests
from bs4 import BeautifulSoup

img

如果报错了, 请在有网络的环境在控制台下使用下面的命令

pip install requests
pip install BeautifulSoup4

第二步,选定好您要准备爬去的小说网站:

每个网站都有不同的代码书写风格,当风格没确定好时,就有可能出现代码错误的情况,在这里我选择的是笔趣阁小说网站: https://www.biquge5200.com/

ps: 不是打广告不是打广告不是打广告!

之后,选择一本想要观看的小说(在笔趣阁里没有提供下载服务), 在这个教程里面我要下载的是 耳根的小说–一念永恒 (有喜欢玄幻小说的朋友们,我强烈推荐大家看这本书,但是请支持正版,毕竟是作者用心写的小说)

二、获取第一章内容

对html有一定了解的朋友们应该都知道, html是一个超文本标记语言, 里面存了大量标签, 打开网页,进入开发者模式, 可以看到下面的内容:

img

在图片中, 我们可以看到很多

, 这个可以看做一个盒子,我们可以把很多东西都放进这个盒子里面,而且,很明显的是正文内容,放在了 id=”content” 的 div 中, 所以很我们只要能够通过get请求获取到该网页 id=”content” 的 div ,便可以轻易的获取到正文内容

# -*- coding:utf-8 -*-
import requests
from bs4 import BeautifulSoup


def main():
    target = 'https://www.biquge5200.com/38_38857/15054739.html'
    req = requests.get(url=target)
    bf = BeautifulSoup(req.text, 'html5lib')
    content = bf.find_all('div', id='content')
    print(content)


if __name__ == '__main__':
    main()

注意:使用BeautifulSoup 解析文本的时候, 需要指定解析的方式,在这里,我们是以html5的方式来解析文本, 在第一次使用的时候,需要先安装html5lib库

运行结果:

img

不过通过运行结果可以看出,光通过上面的代码,会用很多html标签, 需要,通过content[0].text 来获取文字, 并且将空格多的地方,用换行符替换掉,使得排版更加简洁, 当然,在有些网站,空格部分甚至可能使用转义字符”& n b s p ;”, 这个就需要通过正则表达式来查找转义字符并替换

# -*- coding:utf-8 -*-
import requests
from bs4 import BeautifulSoup


def main():
    target = 'https://www.biquge5200.com/38_38857/15054739.html'
    req = requests.get(url=target)
    bf = BeautifulSoup(req.text, 'html5lib')
    content = bf.find_all('div', id='content')
    final_content = content[0].text.replace('  ', '\n\n  ')
    print(final_content)


if __name__ == '__main__':
    main()

注意:此处为什么会使用content[0]呢? 因为使用find_all方法查到的数据是以列表的形式呈现的,其实࿰

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值