Python爬虫—教你用Python爬取小说,小白也能操作(附源码)

基于requests库编写的爬虫,目标小说网站https://www.bq46.cc/,类似的小说网站殊途同归,均可采用本文方法爬取。

目标网站传送门

本文的目标书籍《重生之不负韶华》

  • Python+PyCharm下载及安装包及活码都已打包了,源码可👇👇

Python大礼包:《2024年最新Python全套学习资料包】免费领取

基本思路

网络爬虫的工作实际上主要分为三个部分:

  • 获取网页内容,通过requests库实现;
  • 解析网页内容,得到其中我们想要的章节,
  • 将解析出的内容储存到文本文档中;

 一、运行效果步骤

1.代码运行演示
(代码编写完毕,右键运行代码)
在这里插入图片描述

2.运行结果如下,

  • 需要找到具体的书面ID才能进行爬取

3.打开想要看的小说页面
(复制小说网址和数字)

 4.粘贴在书名ID这里点击回车键

  • 这里网址也要进行修改
  • 再把数字数字ID粘贴上去按回车键

这样就下载完成可进行离线观看了 ,每个章节也会在后台文件夹中生成章节

二、代码展示


请求网页内容

一、导入模块

"""
[使用模块]: requests >>> pip install requests        <第三方模块>
           parsel >>> pip install parsel            <第三方模块>
           prettytable >>> pip install prettytable  <第三方模块>

二、获取小说的标题及小说目录的href

# print(html_data)
selector_2 = parsel.Selector(html_data)
divs = selector_2.css('.listmain dd')
for div in divs:
    title = div.css('a::text').get()
    href = div.css('a::attr(href)').get()
    url = 'https://www.bqg70.com' + href

三、用for循环遍列小说目录,并获取小说正文

for div in divs:
    title = div.css('a::text').get()
    href = div.css('a::attr(href)').get()
    url = 'https://www.bqg70.com' + href

    try:
        response = requests.get(url=url, headers=headers)
        selector = parsel.Selector(response.text)
        # getall 返回的是一个列表 []
        book = selector.css('#chaptercontent::text').getall()
        book = '\n'.join(book)
        # 数据保存

四、保存小说 

  with open(filename + title + '.txt', mode='a', encoding='utf-8') as f:
            f.write(book)
            print('正在下载章节:  ', title)
    except Exception as e:
        print(e)

本期爬取小说就讲到这里

完整小说源码和Python学习资料
扫描下方二维码免领取源码还有案例↓ ↓ ↓
 


最后这里免费分享给大家一份Python全台学习资料,包含视频、源码。课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、自动化测试带你从零基础系统性的学好Python!

👉[[CSDN大礼包:《python安装工具&全套学习资料》免费分享]]安全链接,放心点击

👉Python学习大礼包👈

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值