本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

以下文章天气预报数据分析与统计之美 ,作者:❦大头雪糕❦

Python GUI制作小说下载器教学讲解

https://www.bilibili.com/video/BV13a4y1E7Tb/

前言

很多同学都喜欢看小说,尤其是程序员人群,对武侠小说,科幻小说都很着迷,最近的修仙的小说也很多,类似凡人修仙传,武动乾坤,斗破苍穹等等,今天分享一个用Python来爬取小说的小脚本!

目标

爬取一本仙侠类的小说下载并保存为txt文件到本地。本例为“大周仙吏”。

项目准备

软件:Pycharm

第三方库:requests,fake_useragent,lxml

网站地址:https : //book.qidian.com

网站分析

网址:

网址转化:https : //book.qidian.com/info/1020580616#Catalog

判断是否为静态加载网页,Ctrl + U打开源代码,Ctrl + F打开搜索框,输入:第一章。

在这里是可以找到的,判定为静态加载。

反爬分析

同一个IP地址去多次访问会面临被封掉的风险,这里采用fake_useragent,产生随机的User-Agent请求头进行访问。

代码实现

1.引入相对应的第三方库,定义一个类类继承对象,定义初始方法继承自己,主函数main继承自己。

importrequestsfrom fake_useragent importUserAgentfrom lxml importetreeclassphoto_spider(object):def __init__(self):

self.url= 'https://book.qidian.com/info/1020580616#Catalog'ua= UserAgent(verify_ssl=False)#随机产生user-agent

for i in range(1, 100):

self.headers={'User-Agent': ua.random

}defmian(self):pass

if __name__ == '__main__':

spider=qidian()

spider.main()

2.发送请求,获取网页。

defget_html(self,url):

response=requests.get(url,headers=self.headers)

html=response.content.decode('utf-8')return html

3.获取图片的链接地址。

importrequestsfrom lxml importetreefrom fake_useragent importUserAgentclassqidian(object):def __init__(self):

self.url= 'https://book.qidian.com/info/1020580616#Catalog'ua= UserAgent(verify_ssl=False)for i in range(1, 100):

self.headers={'User-Agent': ua.random

}defget_html(self,url):

response=requests.get(url,headers=self.headers)

html=response.content.decode('utf-8')returnhtmldefparse_html(self,html):

target=etree.HTML(html)

links=target.xpath('//ul[@class="cf"]/li/a/@href')#获取链接

names=target.xpath('//ul[@class="cf"]/li/a/text()')#获取每一章的名字

for link,name inzip(links,names):print(name+'\t'+'https:'+link)defmain(self):

url=self.url

html=self.get_html(url)

self.parse_html(html)if __name__ == '__main__':

spider=qidian()

spider.main()

打印结果:

4.解析链接,获取每一章内容。

defparse_html(self,html):

target=etree.HTML(html)

links=target.xpath('//ul[@class="cf"]/li/a/@href')for link inlinks:

host='https:'+link#解析链接地址

res=requests.get(host,headers=self.headers)

c=res.content.decode('utf-8')

target=etree.HTML(c)

names=target.xpath('//span[@class="content-wrap"]/text()')

results=target.xpath('//div[@class="read-content j_readContent"]/p/text()')for name innames:print(name)for result inresults:print(result)

打印结果:(以下内容过多,只贴出一部分。)

5.保存为txt文件到本地。

with open('F:/pycharm文件/document/' + name + '.txt', 'a') as f:for result inresults:#print(result)

f.write(result+'\n')

效果显示:

文件目录:

完整代码

importrequestsfrom lxml importetreefrom fake_useragent importUserAgentclassqidian(object):def __init__(self):

self.url= 'https://book.qidian.com/info/1020580616#Catalog'ua= UserAgent(verify_ssl=False)for i in range(1, 100):

self.headers={'User-Agent': ua.random

}defget_html(self,url):

response=requests.get(url,headers=self.headers)

html=response.content.decode('utf-8')returnhtmldefparse_html(self,html):

target=etree.HTML(html)

links=target.xpath('//ul[@class="cf"]/li/a/@href')for link inlinks:

host='https:'+link#解析链接地址

res=requests.get(host,headers=self.headers)

c=res.content.decode('utf-8')

target=etree.HTML(c)

names=target.xpath('//span[@class="content-wrap"]/text()')

results=target.xpath('//div[@class="read-content j_readContent"]/p/text()')for name innames:print(name)

with open('F:/pycharm文件/document/' + name + '.txt', 'a') as f:for result inresults:#print(result)

f.write(result+'\n')defmain(self):

url=self.url

html=self.get_html(url)

self.parse_html(html)if __name__ == '__main__':

spider=qidian()

spider.main()

用python爬小说_今天分享一个用Python来爬取小说的小脚本!(附源码)相关推荐

  1. 手把手教你使用FineUI开发一个b/s结构的取送货管理信息系统(附源码+视频教程(第9节))...

    一 本系列随笔概览及产生的背景 近阶段接到一些b/s类型的软件项目,但是团队成员之前大部分没有这方面的开发经验,于是自己选择了一套目前网上比较容易上手的开发框架(FineUI),计划录制一套视频讲座, ...

  2. 手把手教你使用FineUI开发一个b/s结构的取送货管理信息系统(附源码+视频教程(第6节))...

    一 本系列随笔概览及产生的背景 近阶段接到一些b/s类型的软件项目,但是团队成员之前大部分没有这方面的开发经验,于是自己选择了一套目前网上比较容易上手的开发框架(FineUI),计划录制一套视频讲座, ...

  3. python画圣诞帽_使用Python给头像加上圣诞帽或圣诞老人小图标附源码

    随着圣诞的到来,想给给自己的头像加上一顶圣诞帽.如果不是头像,就加一个圣诞老人陪伴. 用Python给头像加上圣诞帽,看了下大概也都是来自2017年大神的文章:https://zhuanlan.zhi ...

  4. python画圣诞老人_使用Python给头像加上圣诞帽或圣诞老人小图标附源码

    随着圣诞的到来,想给给自己的头像加上一顶圣诞帽.如果不是头像,就加一个圣诞老人陪伴. 用Python给头像加上圣诞帽,看了下大概也都是来自2017年大神的文章:https://zhuanlan.zhi ...

  5. python量化策略源码_【Python量化投资】趋向系统指标策略 ADX、DMI指标用于股票池(附源码)...

    原标题:[Python量化投资]趋向系统指标策略 ADX.DMI指标用于股票池(附源码) [什么是ADX] ADX(average directional indicator) 平均趋向指数,常用的趋 ...

  6. python爬取天气预报数据并保存为txt格式_今天分享一个用Python来爬取小说的小脚本!(附源码)...

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章天气预报数据分析与统计之美 ,作者:❦大头雪糕❦ Python GUI制作小说下载器教学讲 ...

  7. python模拟火车订票系统代码_Python3.6实现12306火车票自动抢票,附源码

    原标题:Python3.6实现12306火车票自动抢票,附源码 Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已 ...

  8. python数学函数_「分享」关于Python整理的常用数学函数整理

    原标题:「分享」关于Python整理的常用数学函数整理 1.函数说明 abs(number)返回数字的绝对值,如abs(-10)返回10 pow(x,y[,z]) 返回x的y次幂(所得结果对z取模), ...

  9. Python爬虫爬取表情包+Autojs微信自动导入表情包脚本(附源码)

    废话不多说直接开始 Python爬取表情包 一.检查网页源码 发现可以找到图片地址,直接请求图片地址下载图片 二.打开开发者工具(F12) 通过xpath提取p标签下的img标签src属性为图片地址 ...

最新文章

  1. 解决 Android ping IPv6 地址显示 network is unreachable 的问题
  2. Response_案例3_输出字节数据
  3. angular i18n 国际化 多语言
  4. 让你的PHP4和PHP5共存
  5. ecshop goods.php,重命名ecshop的商品页goods.php为shangpin.php
  6. * IO流递归拷贝一个文件夹 按源文件夹格式拷贝
  7. C++笔记-使用std::funcional代替函数指针
  8. Linux用户程序的编译链接与加载启动过程
  9. 图像灰度化的三种方法(matlab、C++、Python实现)
  10. 3分钟学会python_3分钟学会,学会用Python正确读取大文件
  11. [导入]关于:web.config 的配置说明
  12. 各种通信接口的简单对比
  13. 荣耀9青春版能刷鸿蒙系统吗,华为荣耀9青春版刷机教程_荣耀9青春版强刷升级更新系统包...
  14. Clojure – Functional Programming for the JVM中文版
  15. 用思维导图赏析老舍话剧著作《茶馆》
  16. Laravel5.5 项目开发文档,精简版,不适合新手使用。
  17. Cesium-定位至entity的位置
  18. 使用TkMybatis逆向生成带中文注释文件,并使用其常用的方法
  19. 如何解决非标自动化设备制造企业管理难题?ERP管理系统推荐
  20. Matlab自学笔记四:调用函数基本方法、传递参数、函数工作区、命令语法、调用匿名函数

热门文章

  1. allegro-Could not create new pin inst: PA15/JTDI.
  2. 二月AI战疫丨百度大脑加推多项AI软硬能力,赋能数千家企业超千万用户
  3. python自动生成word报表之使用win32com插入自带可编辑的图表
  4. 基于无人机摄影测量技术的桥梁检测
  5. 自动化测试效率提升方案
  6. Android 仿网易云音乐App
  7. Python|随机数的奥秘
  8. 方正高拍仪文件上传到服务器,高拍仪拍摄文件后如何进行文字识别?本地文件能否导入高拍仪进行识别?...
  9. JAVA社交平台项目第四天 消息通知系统
  10. 2021年中国汽车产销量、出口情况及市场格局分析:新能源汽车产销量创历史新高[图]