python爬取《天才基本法》原著小说

Python爬取《天才基本法》原著:从零入门到电纸书阅读

前言

《天才基本法》看完了,听说对原著改编很大,准备找原著看看。(文末送读者福利)

以前学过一点儿python,《天才基本法》剧里多次推崇python让我又燃起热情复习了一下,正好就有了这个任务:python爬取《天才基本法》原著小说,然后导入到kindle等电纸书设备阅读。

由于长时间不用有些生疏,捣鼓了两小时才成功,python真是简练的语言,算上空行代码也没有50行!

首先搜索“天才基本法在线阅读”找到某个网站,你也可以直接使用我下面代码里那个网址。然后下载目录页的章节列表,最后逐个下载章节合并成一个txt文本文件。

先写一个根据网址获取html源码的通用函数。

def 获取网页源码(url):
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36"
    }
    try:
        r = requests.get(url=url, headers=headers)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text   # 返回网页源码
    except:
        print('网页地址访问失败')
        return '获取失败'

看到一篇文章说python支持中文函数和变量名称,这样写真棒!几乎不用注释了。

# 开始爬取目录
目录地址 = 'https://wwwxxxxx.com/book/tiancaijibenfa.html'
目录源码 = 获取网页源码(目录地址)
章节地址和名称列表 = []
源码解析器 = BeautifulSoup(目录源码, 'lxml')
目录代码 = 源码解析器.select('div > ul> li')  # 层级选择
for 章节 in 目录代码:
    if 章节.text=='':
        continue
    章节地址 = 章节.find('a').attrs['href']
    章节名称 = 章节.a.string
    章节地址和名称列表.append([章节地址, 章节名称])
print('章节列表下载成功!')
# 按照章节顺序下载章节内容并保存到文件
电子书文件 = open('天才基本法.txt', 'a', encoding="utf-8")
for 章节 in 章节地址和名称列表:
    章节地址 = 章节[0]
    章节名称 = 章节[1]
    章节源码解析器 = BeautifulSoup(获取网页源码(章节地址), 'lxml')
    本章内容代码 = 章节源码解析器.find('div', id='htmlContent')
    本章内容文本 = 本章内容代码.text
    电子书文件.write(章节名称 + 本章内容文本 + "\n")
    print(章节名称 + ' 下载成功。')
电子书文件.close()
print('大功告成!')

因为有200多页,运行了大约5分钟才结束。

用多线程可以加速,但我还不会,会的请指教一下。

另外有个小问题没有解决,在这里请教一下。小说源码中有许多空格和网页换行,如:

“    想到这里,林朝夕的手机铃声响了。<br><br>    她硬着头皮,赶忙接起” 

,我使用 “本章内容代码.text” 忽略过去,但是这样就没有换行了,想进行替换:

本章内容文本 = 本章内容代码.replace("<br>","\n")

但又提示 “TypeError: ‘NoneType’ object is not callable”,请问怎么办?
在这里插入图片描述
读者福利:知道你对Python感兴趣,便准备了这套python学习资料

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案

零基础Python学习资源介绍

👉Python学习路线汇总👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)

👉Python必备开发工具👈

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

👉100道Python练习题👈

检查学习结果。

👉面试刷题👈



在这里插入图片描述

资料领取

上述这份完整版的Python全套学习资料已经上传优快云官方,朋友们如果需要可以微信扫描下方优快云官方认证二维码输入“领取资料” 即可领取

在这里插入图片描述

好文推荐

了解python的前景:https://blog.youkuaiyun.com/SpringJavaMyBatis/article/details/127194835

了解python能做什么:https://blog.youkuaiyun.com/SpringJavaMyBatis/article/details/127196603

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值