基本开发环境

・ 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 = "

".join(lines)

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

file.write(h1)

file.write("

")

file.write(text)

file.write("

")

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 爬虫的工具列表( 附Github代码下载链接)

    Python 爬虫的工具列表( 附Github代码下载链接) 这个列表包含与网页抓取和数据处理的Python库 网络 通用 urllib -网络库(stdlib). requests -网络库. gr ...

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

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

  5. 电脑下载工具哪个软件好 电脑下载工具去哪下载

    使用电脑办公已成为工作的必须,使用电脑时,我们需要在电脑下载所需的软件.文件等,电脑下载工具自然少不了.电脑下载工具哪个软件好?电脑下载工具有很多,常见的有aria2.4K Video Downloa ...

  6. python 项目构建工具_python的构建工具setup.py

    一.构建工具setup.py的应用场景 在安装python的相关模块和库时,我们一般使用 "pip install 模块名" 或者 "python setup.py in ...

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

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

  8. python自动化构建工具_Python自动化构建工具scons使用入门笔记

    这段时间用到了scons,这里总结下,也方便我以后查阅. 一.安装sconsLinux环境(以CentOS为例) 1.yum安装 yum install scons 2.源码安装 下载scons:ht ...

  9. java手机网站开发工具_制作网站常用的网页开发工具有哪些

    我们要想制作好网站其实是离不开网站代码的HTML,我们在制作网站的时候是需要用到一些常用的网页开发工具,才能完成我们网页的编写,那么,你知道制作网站常用的网页开发工具有哪些吗?不清楚的话,下面小编和你 ...

最新文章

  1. 利用Python制作简单的小程序:IP查看器
  2. 如何成为月入过万的斜杠青年
  3. Silverlight+WCF 新手实例 象棋 该谁下棋-B下A停(三十)
  4. CSP认证201604-1 折点计数[C++题解]:枚举、遍历
  5. 玩转服务器(华为云)—环境安装(jdk安装,tomcat安装)
  6. [elk]logstash grok原理
  7. P4719 【模板】“动态 DP“动态树分治(矩阵/轻重链剖分/ddp)
  8. 先容Oracle中null的运用要领。
  9. python基础查漏补缺1--算数、字符串与变量
  10. 26. 左旋转字符串
  11. 字体方向 道路标注_自动驾驶环境感知的“见闻色”——3D点云标注
  12. 今天,你精通Spring Cloud了吗?
  13. 图书管理系统的5W1H
  14. ScrollView常用属性汇总
  15. SHELL脚本-猜数字游戏
  16. [计算机网络] - 从英雄联盟,看数据包何去何从?
  17. hp服务器怎么进bios系统,服务器hp进bios设置
  18. 简历空白怎么办?计算机专业应届生和在校生怎么写简历?
  19. 仿真BPSK调制在AWGN信道下分别使用卷积码和未使用卷积码的性能对比,其中,卷积码的约束长度为7,生成多项式为[171,133],码率为1/2,译码分别采用硬判决译码和软判决译码
  20. iOS开发 frame与bounds

热门文章

  1. vue 移动端音乐(3) amp;amp;gt;热门歌单推荐部分(webpack-dev-conf.js做后端接口代理+scroll插件)
  2. js模板引擎Template.js使用详解及免费下载template.js
  3. 超详细:R语言缺失值及异常值处理
  4. 设计模式之模板方法模式详解
  5. html css 如何将图片作为背景,CSS背景图片和HTML中的img标签
  6. 使用PIL包给图片增加水印
  7. CentOS 7 系统部署之四:磁盘扩容与调整
  8. NewTek LightWave 3D 2018 破解版
  9. 光猫、交换机、路由器三者的区别在哪里?如何选择?
  10. Error converting data type...