Python爬虫-爬取小说

python,爬虫,小说 · 浏览次数 : 374

小编点评

```python import os from pyquery import PyQuery as pq # 1. 配置爬取信息 website = 'https://www.bbiquge.net' novel_url = '/book/133312/' novel_name = '宇宙职业选手' # 2. 解析网页novel_init_page novel_init_page = pq(url=website + novel_url) # 3. 每本小说底部的页数 pages = novel_init_page('select>option').items() # 4. 写入<小说名>.md文件 with open(f'{novel_name}.md', 'w', encoding='utf-8') as f: # 4.1 遍历页数 for page in pages: # 4.1.1 获取每一页的URL individual_page_url = website + page.attr.value # 4.1.2 解析每一页 page_info = pq(url=individual_page_url) # 4.1.3 得到每个小说章节的信息,如 “第一章 XXXXX” chapters = page_info('.zjlist>dd>a').items() # 4.1.4 遍历每个章节 for chapter in chapters: # 垃圾章节过滤 if '获奖公布' in chapter.text(): continue # 以MD形式写入章节名,记得换行 f.write('# '+chapter.text()+'\n') # 注意此处的拼接URL,不能是individual_page_url,每个章节正文的内容是website+novel_url下的 chapter_url = website + novel_url + chapter.attr.href # 解析正文的URL chapter_info = pq(url=chapter_url) # 垃圾信息清理 open_info = f'笔趣阁 www.bbiquge.net,ⓧ{novel_name} schaff天吗!' chapter_content = chapter_info('#content').text().replace(open_info, '') f.write(chapter_content + '\n') # 5. 当文档超过1024KB的时候最好分割下,不然md可能无法直接打开,你可以用txt工具打开 # fsplit需要单独安装 参考: https://github.com/dubasdey/File-Splitteros.system(f'fsplit -split 1024 kb ./{novel_name}.md -df ./') ```

正文

Python爬虫-爬取小说

代码

import os
from pyquery import PyQuery as pq
# 1. 配置爬取信息: 待爬取网站、小说的url、小说名字
website = 'https://www.bbiquge.net'
novel_url = '/book/133312/'
novel_name = '宇宙职业选手'

# 2. 解析网页
novel_init_page = pq(url=website+novel_url)
# 3. 每本小说底部的页数
pages = novel_init_page('select>option').items()
# 4. 写入<小说名>.md文件
with open(f'{novel_name}.md','w',encoding='utf-8') as f:
    # 4.1 遍历页数
    for page in pages:
        # 4.1.1 获取每一页的URL
        individual_page_url = website+page.attr.value
        # 4.1.2 解析每一页
        page_info = pq(url=individual_page_url)
        # 4.1.3 得到每个小说章节的信息,如 “第一章 XXXXX”
        chapters = page_info('.zjlist>dd>a').items()
        # 4.1.4 遍历每个章节
        for chapter in chapters:
            # 垃圾章节过滤
            if '获奖公布' in chapter.text():
                continue

            # 以MD形式写入章节名,记得换行
            f.write('# '+chapter.text()+'\n')
            # 注意此处的拼接URL,不能是individual_page_url,每个章节正文的内容是website+novel_url下的
            chapter_url = website+novel_url+chapter.attr.href
            # 解析正文的URL
            chapter_info = pq(url=chapter_url)
            # 垃圾信息清理
            open_info = f'笔趣阁 www.bbiquge.net,最快更新{novel_name}最新章节!'
            chapter_content = chapter_info('#content').text().replace(open_info,'')
            f.write(chapter_content+'\n')
# 5. 当文档超过1024KB的时候最好分割下,不然md可能无法直接打开,你可以用txt工具打开
# fsplit需要单独安装 参考: https://github.com/dubasdey/File-Splitter
os.system(f'fsplit -split 1024 kb ./{novel_name}.md -df ./')

说明

  1. 解释都在代码里

  2. 你要执行可能要去掉最后一行,否则就自行下载好fsplit

  3. 本代码仅适用于特定的网站(https://www.bbiquge.net),并不推荐盗版,仅供学习之用

  4. 如果要下载特定网站的其他小说,可以修改novel_url,novel_name最好也同步

  5. 再改改,就可以爬取该特定网站所有的小说

  6. 元素表达式说明:第几页==>select>option,如图

  1. 元素表达式说明:章节名==>.zjlist>dd>a,如图

  1. 元素表达式说明:正文==>#content,如图

与Python爬虫-爬取小说相似的内容:

Python爬虫-爬取小说

Python爬虫-爬取小说 代码 import os from pyquery import PyQuery as pq # 1. 配置爬取信息: 待爬取网站、小说的url、小说名字 website = 'https://www.bbiquge.net' novel_url = '/book/133

关于文章《爬取知网文献信息》中代码的一些优化

哈喽大家好,我是咸鱼 之前写了一篇关于文献爬虫的文章Python爬虫实战(5) | 爬取知网文献信息 文章发布之后有很多小伙伴给出了一些反馈和指正,在认真看了小伙伴们的留言之后,咸鱼对代码进行了一些优化 优化的代码在文末,欢迎各位小伙伴给出意见和指正 问题 pycharm 设置 Edge 驱动器的环

谁说爬虫只能Python?看我用C#快速简单实现爬虫开发和演示!

前言:说到爬虫,基本上清一色的都知道用Python,但是对于一些没玩过或者不想玩Python的来说,却比较头大一点。所以以下我站在C# 的角度,来写一个简单的Demo,用来演示C# 实现的简单小爬虫。大家感兴趣可以自己拓展出更加丰富的爬虫功能。 前提:引用包HtmlAgilityPack 先来个爬取

python 爬虫某东网商品信息 | 没想到销量最高的是

哈喽大家好,我是咸鱼 好久没更新 python 爬虫相关的文章了,今天我们使用 selenium 模块来简单写个爬虫程序——爬取某东网商品信息 网址链接:https://www.jd.com/ 完整源码在文章最后 ## 元素定位 我们需要找到网页上元素的位置信息(xpth 路径) ![image](

Python爬虫(二):写一个爬取壁纸网站图片的爬虫(图片下载,词频统计,思路)

好家伙,写爬虫 代码: import requests import re import os from collections import Counter import xlwt # 创建Excel文件 workbook = xlwt.Workbook(encoding='utf-8') wor

Python爬虫-王者荣耀英雄图片爬取

王者荣耀英雄图片爬取 pyquery库 https://pyquery.readthedocs.io/en/latest/ 官方文档 https://github.com/gawel/pyquery github pyquery实际上是python中的jquery 安装 pip install py

python爬虫之根据期刊信息获取知网文献信息 pt.1

哈喽大家好,我是咸鱼 之前写过一篇获取知网文献信息的文章([关于《爬取知网文献信息》中代码的一些优化](http://mp.weixin.qq.com/s?__biz=MzkzNzI1MzE2Mw==&mid=2247485617&idx=1&sn=8c38163fc757784d3048e5043

微博-指定话题当日数据爬取

该文章详细描述了如何通过分析和抓包技术,绕过微博网页端和手机端的数据访问限制,使用Python脚本爬取与特定关键词(如"巴以冲突")相关的微博数据。文章首先探讨了网页端微博数据爬取的局限性,如需要登录账号和数据量限制,然后转向手机端,发现其对爬虫更为友好。接着,文章详细介绍了使用Python进行数据...

python+requests爬取B站视频保存到本地

import os import datetime from django.test import TestCase # Create your tests here. import requests import re import json import subprocess from conc

看我如何用定值 Cookie 实现反爬

摘要:本次案例,用定值Cookie实现反爬。 本文分享自华为云社区《我是怎么用一个特殊Cookie,限制住别人的爬虫的》,作者: 梦想橡皮擦 。 Cookie 生成 由于本案例需要用到一个特定的 Cookie ,所以我们需要提前将其生成,你可以直接设置一个固定的字符串,也可以使用 Python 加密