python爬虫爬网络小说
最近闲的蛋疼想看一些爽文
百度到了一篇《超级学生》,在线看了一下还行,但是找了半天txt没找到完整版的
于是只能自己来爬一篇完整版的小说!
小说D版地址:https://www.enwds.com/195/
进第一章,查看源代码,发现小说内容在<div id="content"><p>...</p><p>...</p>...</div>
里面
爬内容分了两步:先爬<div>...</div>
里面的,再爬<p>...</p>
里面的。
但是不能只爬一章,还要继续爬,找下一章的链接,在<a id="pager_next" href="..." target="_top" class="next">下一章</a>
里面
还要爬标题,在<h1>第...章:...</h1>
里面
于是分了四个正则表达式:
story_pattern1 = re.compile(r'<div id="content">(.*?)</div>', re.S)
story_pattern2 = re.compile(r'<p>(.*)</p>', re.S)
next_pattern = re.compile(r'<a id="pager_next" href="(.*?)"', re.S)
title_pattern = re.compile(r'<h1>(.*?)</h1>', re.S)
最后流程是:
- 打开链接
- 获取html内容
- 获取小说内容(粗)
- 获取下一章链接
- 获取标题
- 获取小说内容(细)
- 去掉内容html标签
- 写入标题
- 写入小说内容
- 打开下一章链接
这样循环下去,就爬到了一篇小说!
源代码:
import urllib.request
import reurl = 'https://www.enwds.com/195/541422.html'
url_head = 'https://www.enwds.com'
next_url = ['']
file = open(r"D:\route\xxxx.txt", "a+")while next_url[0] != '/195/':temp = urllib.request.urlopen(url)content = temp.read().decode('utf-8')story_pattern1 = re.compile(r'<div id="content">(.*?)</div>', re.S)story_pattern2 = re.compile(r'<p>(.*)</p>', re.S)next_pattern = re.compile(r'<a id="pager_next" href="(.*?)"', re.S)title_pattern = re.compile(r'<h1>(.*?)</h1>', re.S)story_content = re.finditer(story_pattern1, content)next_url = re.findall(next_pattern, content)url = url_head + next_url[0]title = re.findall(title_pattern, content)file.write(title[0] + '\n\n')print(title[0])for match in story_content:match_content = re.finditer(story_pattern2, match.group())for aa in match_content:result = re.sub(r'<.*?>', "", aa.group())file.write(result + '\n\n')
python爬虫爬网络小说相关推荐
- Python爬虫—爬取小说名著
周末闲来无事,本来想看一看书的,结果也没看进去(RNG输的我真是糟心...) 于是就用python写了一个爬虫,来爬取小说来看,防止下次还要去网上找书看. 我们先找一个看名著的小说网 我们打开http ...
- python爬虫爬取小说网站并转换为语音文件
前言 作为一个技术宅,本着为眼睛着想的角度考虑,能少看屏幕就尽量少看屏幕,可是又是一个小说迷,那就开动脑筋爬一下小说转换成语音来听书吧 第一章:爬取小说文件 把目标定在小说存储量比较大的网站:起点中文 ...
- python 爬虫爬取小说信息
1.进入小说主页(以下示例是我在网上随便找的一片小说),获取该小说的名称.作者以及相关描述信息 2.获取该小说的所有章节列表信息(最重要的是每个章节的链接地址href) 3.根据每个章节的地址信息下载 ...
- Python爬虫爬取小说
近来闲的无聊,天天逛CSDN看到python多火热多火热,就自己根据教程学习爬虫,参考了好几个博文,忘了地址是啥就不贴出来了 开发工具:PcCharm 开发环境:Python3.8 这次爬取的小说网站 ...
- 关于python爬虫爬取小说
写了一个下载小说的爬虫,具体代码如下: 现在就是有一个问题,如何在不打乱章节顺序的情况下提高爬取的速度呢??? from urllib.parse import quote import reques ...
- python 小说cms系统_「博文小说网」Python爬虫爬取小说网站 - seo实验室
博文小说网 #!/usr/bin/env Python # -*- coding: utf-8 -*- # @Author : Woolei # @File : book136_singleproce ...
- python 爬虫(起点)网络小说
1 先确定要爬取的小说是get 请求换是post 请求 1.1先在网站上打开一篇小说: 1.2 f12 进去开发者模式 1.3 切换到NetWork 发现有一个空白,可以点击左侧的小说内容 NetWo ...
- python爬虫爬取《斗破苍穹》小说全文
网络爬虫的入门学习:python爬虫爬取小说全文 python爬虫首先导入基本爬虫库requests:import requests,安装命令pip install requests,使用pychar ...
- python爬虫对炒股有没有用_使用python爬虫实现网络股票信息爬取的demo
实例如下所示: import requests from bs4 import BeautifulSoup import traceback import re def getHTMLText(url ...
最新文章
- 4.4 为什么使用深层表示-深度学习-Stanford吴恩达教授
- python安装redis模块_安装redis及python redis模块
- 架构师必须掌握的 10 条设计原则
- super(Net,self).__init__() 的含义
- xfce 双击窗口标题栏无法最大化解决办法
- Trie 树内存消耗问题
- 返回一个整数数组中最大子数组的和---环形数组
- 二分算法和冒泡排序时间复杂度分析
- 实战jvisualvm
- Opencv之疲劳检测
- 安捷伦电源6319D实现GPIB通信
- 使用C++,Python,Matlab进行facial 68 points landmarks
- linux 向日葵 使用方法,远程控制工具——Centos7上向日葵安装使用
- cfg格式文件在服务器哪里,cfg文件,小编教你怎么打开cfg文件
- python 中 np.sum()函数 通俗易懂理解!
- ce玩家_当玩家选择错误时
- PyQt5基本控件详解之QTextEdit(五)
- 设计模式六大原则(SOLID)
- android变身蓝牙键鼠,使用BluetoothHidDevice将安卓手机同时模拟成鼠标和键盘
- 微型计算机原理和接口技术试卷,2017-1微机原理和接口技术试卷A(答案)-.doc