基本开发环境

· Python 3.6

· Pycharm

相关模块使用

目标网页分析

输入想看的小说内容,点击搜索

这里会返回很多结果,我只选择第一个

网页数据是静态数据,但是要搜索,是post请求,需要提价data参数,如下图所示:

然后通过解析网站数据,获取第一个小说i的详情页url即可

静态网页的获取,难度是不大的。

def search():

search_url = 'http://www.xbiquge.la/modules/article/waps.php'

data = {

'searchkey': name

}

response = requests.post(url=search_url, data=data, headers=headers)

selector = get_parsing(response.text)

novel_url = selector.css('.even a::attr(href)').extract_first()

1、获取每本小说的章节名以及url地址

所有的章节名以及url地址,都包含在dd标签里面

2、获取url后,需要拼接

'/23/23019/11409705.html' # 这是网页获取到的url

'http://www.xbiquge.la/23/23019/11409705.html' # 这是真实的小说章节内容url地址

3、小说名字,直接获取即可。

def download_one_book(index_url):

response = get_response(index_url)

response.encoding = response.apparent_encoding

sel = get_parsing(response.text)

book_name = sel.css('#info h1::text').get()

# 提取了所有章节的下载地址

urls = sel.css('#list dd a::attr(href)').getall()

# 不要最新的 12 章放在最前main

for url in urls:

chapter_url = 'http://www.xbiquge.la' + url

print(chapter_url)

保存下载每章小说内容

def download_one_chapter(chapter_url, book_name):

response = get_response(chapter_url)

response.encoding = response.apparent_encoding

html = response.text

selector = get_parsing(html)

h1 = selector.css('.bookname h1::text').get()

content = selector.css('#content::text').getall()

lines = []

for c in content:

lines.append(c.strip())

print(h1)

text = '\n'.join(lines)

file = open(book_name + '.txt', mode='a', encoding='utf-8')

file.write(h1)

file.write('\n')

file.write(text)

file.write('\n')

file.close()

小说软件界面

root = Tk()

root.title('小说下载器')

root.geometry('560x450+400+200')

label = Label(root, text='请输入下载小说名字:', font=('华文行楷', 20))

label.grid()

entry = Entry(root, font=('隶书', 20))

entry.grid(row=0, column=1)

text = Listbox(root, font=('隶书', 16), width=50, heigh=15)

text.grid(row=2, columnspan=2)

button1 = Button(root, text='开始下载', font=('隶书', 15), command=search)

button1.grid(row=3, column=0)

button2 = Button(root, text='退出程序', font=('隶书', 15), command=root.quit)

button2.grid(row=3, column=1)

root.mainloop()

显示下载内容

def novel_load(title):

text.insert(END, '正在保存:{}'.format(title))

# 文本框滚动

text.see(END)

# 更新

text.update()

实现效果

以上就是python 制作网站小说下载器的详细内容,更多关于python 小说下载器的资料请关注脚本之家其它相关文章!

python小说下载器_python 制作网站小说下载器相关推荐

  1. python 小说下载工具_python 制作网站小说下载器

    基本开发环境 ・ Python 3.6 ・ Pycharm 相关模块使用 目标网页分析 输入想看的小说内容,点击搜索 这里会返回很多结果,我只选择第一个 网页数据是静态数据,但是要搜索,是post请求 ...

  2. python网上下载教程_python从网站上下载东西

    import requests res=requests.get('http://www.gutenberg.org/cache/epub/112/pg112.txt')#requests返回一个re ...

  3. Python之 - 使用Scrapy建立一个网站抓取器,网站爬取Scrapy爬虫教程

    Scrapy是一个用于爬行网站以及在数据挖掘.信息处理和历史档案等大量应用范围内抽取结构化数据的应用程序框架,广泛用于工业. 在本文中我们将建立一个从Hacker News爬取数据的爬虫,并将数据按我 ...

  4. python教程app下载地址_Python爬取APP下载链接的实现方法

    首先是准备工作 Python 2.7.11:下载python 其中python2和python3目前同步发行,我这里使用的是python2作为环境.Pycharm是一款比较高效的Python IDE, ...

  5. python爬取资料_Python爬取FLASH播放器中的资料

    Python爬取FLASH播放器中的资料. 一.首先了解一下AMF协议:AMF(Action Message Format)是Flash与服务端通信的一种常见的二进制编码模式,其传输效率高,可以在HT ...

  6. 爬虫python下载视频_Python视频爬虫实现下载头条视频功能示例

    本文实例讲述了Python视频爬虫实现下载头条视频功能.分享给大家供大家参考,具体如下: 一.需求分析 抓取头条短视频 思路: 分析网页源码,查找解析出视频资源url(查看源代码,搜mp4) 对该ur ...

  7. python爬虫小说设计过程_Python制作爬虫采集小说

    开发工具:python3.4 操作系统:win8 主要功能:去指定小说网页爬小说目录,按章节保存到本地,并将爬过的网页保存到本地配置文件. 被爬网站:http://www.cishuge.com/ 小 ...

  8. python爬取小说出现乱码_Python爬虫中文小说网点查找小说并且保存到txt(含中文乱码处理方法)...

    从某些网站看小说的时候经常出现垃圾广告,一气之下写个爬虫,把小说链接抓取下来保存到txt,用requests_html全部搞定,代码简单,容易上手. 中间遇到最大的问题就是编码问题,第一抓取下来的小说 ...

  9. python下载论文_Python实现一个论文下载器的过程

    在科研学习的过程中,我们难免需要查询相关的文献资料,而想必很多小伙伴都知道SCI-HUB,此乃一大神器,它可以帮助我们搜索相关论文并下载其原文.可以说,SCI-HUB造福了众多科研人员,用起来也是&q ...

最新文章

  1. python爬虫能干什么-Python爬虫能做什么
  2. Sublime 的中文乱码问题
  3. php 实时监测网站是否异常_网站跳转劫持解决,网站跳转劫持解决方法只有3步...
  4. 手机优酷APP怎么上传视频
  5. PHP 正则表达式(PCRE)
  6. JSP笔记——7.自定义标签
  7. 95-910-330-源码-FlinkSQL-Calcite-Flink结合Calcite
  8. HT for Web基于HTML5的图像操作(三)
  9. GNU/Linux下的开发环境
  10. 用Java操作Office 2007
  11. java list stream avg_Java8之list.stream的常见使用
  12. 通信电子电路实验(三)——高频电容反馈型LC振荡器的设计与仿真
  13. SPSS26没有典型相关性分析怎么办
  14. Java读取共享文件夹下面的文件(利用smb协议)
  15. AliExpress国际速卖通唰信誉用什么虚拟卡用信可以成功扣款?
  16. oracle12162错误,ORA-12162: TNS:net service name is incorrectly specified报错问题如何解决?...
  17. 【云售前工具】在线绘图工具推荐
  18. Matlab中int2str函数使用
  19. 网络唤醒 php,php 远程唤醒电脑 php源码远程唤醒电脑 远程开机
  20. 使用pytorch可视化中间层的结果

热门文章

  1. 【生物医学信号处理】生物医学信号处理教学软件DigiScope的matlab简单模拟实现
  2. dreamweaver php 插件,Dreamweaver中的插件如何应用
  3. sockaddr详解
  4. Gitflow分支管理策略
  5. Cisco rping vrf
  6. ruby-0.49源码分析
  7. Word页码不想要,在哪里设置取消?
  8. window mysql 5.7安装教程
  9. TypeError: Cannot read property ‘replace‘ of undefined
  10. 用Python玩人脸融合,想知道你未来孩子的长相?(附源码)