Python3小说下载、自动转存为TXT、方便自己使用

Python3小说下载

小说下载说明:
运行环境:Pycharm2020.2.2
1.网址:http://www.31xiaoshuo.org/ (大部分小说都能搜索到)
2.首页搜索小说,或点开主页中的小说,即打开全部章节,复制网址,如:http://www.31xiaoshuo.org/1/1886/,复制到

if __name__ == '__main__': url = 'http://www.31xiaoshuo.org/1/1886/'

3.运行如下:

     /usr/bin/python3.8 /home/maya/PycharmProjicts/Event/31*小说下载.py
    总章节数:1582
    你正准备下载小说:【圣墟】,确认需开始的章节:1
    一共1582章,要下至多少章?1582*

代码:


# 小说下载说明:
# 网址:http://www.31xiaoshuo.org/ (大部分小说都能搜索到)
# 首页搜索小说,或点开主页中的小说,即打开全部章节,复制网址,如:http://www.31xiaoshuo.org/1/1886/,复制到if __name__ == '__main__':
#     url = 'http://www.31xiaoshuo.org/1/1886/',运行如下:
# /usr/bin/python3.8 /home/maya/PycharmProjicts/Event/31小说下载.py
# 总章节数:1582
# 你正准备下载小说:【圣墟】,确认需开始的章节:1
# 一共1582章,要下至多少章?1582

import requests,time
from bs4 import BeautifulSoup

name,href,book=[],[],[]  #节名,href,小说名
def html(url):
    r=requests.get(url)
    #print(r)
    # soup转换
    soup=BeautifulSoup(r.text,"html.parser")
    #print(soup)
    section = soup.select('div#list dl dd a')
    # print(len(section)) #<a href="/17/17545/11904841.html">第一章 门派弃徒</a>
    # 获取章节名称
    book_name = soup.select('div#info h1')[0].text  #仙武帝尊
    book.append(book_name)

    # name,href,book=[],[],[]
    for i in range(len(section)):
        section_name=section[i].text #第一章 门派弃徒
        name.append(section_name)
    # 获取章节href
        section_href=section[i].get('href')
        href.append(section_href)
    # /17/17545/11904841.html   or :sectionhref'])
    # return name,href
def zhangjie():
    print('总章节数:'+str(len(href)))
    start=int(input('你正准备下载小说:【'+book[0]+'】,确认需开始的章节:'))
    total=int(input('一共'+str(len(href))+'章,要下至多少章?'))

    if total<=len(href):
        # print(href[start],start)
        sleep=0
        for i in range(start-1,total):
            book_url = 'http://www.31xiaoshuo.org' + href[i]
            # print(start,start+total,href[i],book_url)
            header = {
                'Connection': 'keep-alive',
                'Cookie': 'Hm_lvt_29a352f58f525381803e1ef14929689d=1603441754,1603462717,1603498391; bdshare_firstime=1603441753801; tongji=1; _ga=GA1.2.633931289.1603441755; _gid=GA1.2.96401951.1603441755; Hm_lpvt_29a352f58f525381803e1ef14929689d=1603498396; _gat_gtag_UA_139602484_1=1',
                'Referer': 'http://www.31xiaoshuo.org/17/17545/',
                'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:81.0) Gecko/20100101 Firefox/81.0'
            }
            r = requests.get(book_url, headers=header)
            # print(r.text)
            soup = BeautifulSoup(r.text, "html.parser", exclude_encodings='utf-8')

            # book_name=soup.select('div.con_top a')[1].text #仙武帝尊
            zhangjie_name = soup.select('div.bookname h1')[0].text  # 第一章 门派弃徒
            zhangjie_content = soup.select('div#content p')  # [<p>“外门弟子叶辰。。。
            # zhangjie_content1=soup.select('div#content p')[56].text

            # print(book_name)
            if sleep%10==0:
                time.sleep(2)
            else:
                sleep = sleep + 1

            print('正在下载章节:' + zhangjie_name)
            f = open(book[0] + '.txt', "ab+")  # 打开小说文件
            # 以二进制写入章节题目 需要转换为utf-8编码,否则会出现乱码
            f.write(('\t\r' + zhangjie_name + '\r\n\n').encode('UTF-8'))  # 回车+换行:\r\n
            # 以二进制写入章节内容
            for t in range(len(zhangjie_content)):
                f.write((zhangjie_content[t].text + '\r').encode('UTF-8'))
            f.close()  # 关闭小说文件
            # 关闭小说文件
    else:
        print('WARRING...输入超过总章节,出错!请重新输入,重新运行!')



if __name__ == '__main__':
    url = 'http://www.31xiaoshuo.org/1/1886/'
    html(url)
    # print(name[0],href[0],book[0],href[150])
    zhangjie()
    # print(req(url)[0][0],req(url)[1][0])

运行效果:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
2011年2月出版的,绝对最新哦,扫描绝对超级清楚。 在本书中,一流的Python程序员Mark Summerfield展示了如何充分利用Python 3的功能与特性来编写代码。与以前的版本相比。Python 3功能更强大,使用方便,语法更一致,表达能力更丰富。本书将编写程序、使用标准或第三方Python 3库、创建新的专用库模块所必需的所有相关知识整合到了一起。 Python是一种脚本语言,在各个领域得到了日益广泛的应用。本书全面深入地对Python语言进行了讲解。 本书首先讲述了构成Python语言的8个关键要素,之后分章节对其进行了详尽的阐述,包括数据类型、控制结构与函数、模块、文件处理、调试、进程与线程、网络、数据库、正则表达式、GUI程序设计等各个方面,并介绍了其他一些相关主题。全书内容以实例讲解为主线,每章后面附有练习题,便于读者更好地理解和掌握所讲述的内容。 作为一名具有多年Python使用经验的程序员,Summerfield在本书中为读者深度分析与讲解了从其他途径无法获取的Python3使用与开发技术。Summerfield从Python的“优美核心(beautiful heart)”(即编写高健壮性、高性能程序的8个关键要素)开始进行讲解,并以这些关键要素为基础,介绍了有助于增强程序开发实用技能的新主题,每个主题都包含其概念和多个操作实例。 本书既可以作为Python编程指南,也可以作为Python语言参考手册。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值