Python改变生活 | 轻松白票【微信读书】付费书籍!
大家好,我是小五🚀
这是Python改变生活系列的第5篇,主要跟大家介绍一下,我是如何用Python爬取小说,再导入微信读书的。
成功实现在【微信读书】中各种“白票”付费小说!
前情提要
不知道用微信读书的朋友多不多,这里顺便安利一下哈。
我目前看电子书的话,基本都在微信读书上阅读,毕竟白嫖的无限卡真香。
在微信读书上,不仅很多正版的Python电子书可以直接看,还可以在阅读时看别人的标注。
但是免费无限卡对于小说不太友好,往往只能阅读开头的章节,后面的章节就需要变相付费了。
我虽然知道番茄小说,七猫小说这种都能免费看,但是实在不愿意为了一部小说再多下一个软件。
幸亏微信读书出了一个功能——可以自己上传书籍,支持支持txt、pdf、epub格式。
这就给了我一个想法,只需要将小说下载到本地,再导入到微信读书不就成了。
下载小说方法贼简单,用Python也行,搜搜专门打包好的下载器也成。不过我记得两年前刚学Python时自己练习写过笔趣阁的爬虫,这就翻出来用用。
爬取小说
原来代码是找到了,但是很尴尬,我爬取的那个网站404了。
不过目前笔趣阁遍地都是,实现了永生!
还有个更好的消息,很多家连网页模板都是一模一样,这代表了自己的爬虫,只需改改地址就能接着用了,这是妙啊。
于是乎,我又随便找了一家“笔趣阁”。
今天我们就以我吃西红柿近期完结的沧元图
为例,可以看到在这个笔*阁网站里,小说沧元图的网址url是:
https://*********/html/2292/
同时,《沧元图》所有的章节也都罗列在本页面。
我觉得先爬取所有的章节名和对应的url网址,分别保存到列表中。然后再使用requests爬取,并依次写入txt文档中。
网页结构并不复杂,也没有反爬措施。大概20行代码即可下载
for i, j in zip(urls, names):
res_text = requests.get(url, headers=header).text
zj_html = etree.HTML(res_text)
texts = zj_html.xpath('//*[@id="content"]/text()')
texts2 = zj_html.xpath('//*[@id="content"]/*/text()')
text = '\n'.join(texts).strip()+'\n'.join(texts2).strip()
with open('novels_n.txt', 'a', encoding='utf8') as f:
f.write(f'{j} \n {text} \n')
print(f'{novels_n}/{j},正在下载...')
这样我们就爬取了小说《沧元图》,并将它保存成txt文档。
通过\n
使得章节名换行,与正文分割开。
白嫖小说
下面的步骤就更简单了,只需要在微信读书的网页版中,点击【传书到手机】,上传刚刚爬取生成的《沧元图》。
导入成功。
单击【立即阅读】,享受一下劳动成果。
整体段落和文字都没什么问题。
再看一下章节目录,也是按照正常的目录进行排版的。
非常完美!
小结
以上,就是我使用Python爬取小说,再导入微信读书,成功白票小说阅读的全部步骤了。
这个方法已经用了几个月,白嫖了好几本小说。
赶紧把小技巧分享给大家,快上车吧!
老铁们,如果想看更多Python改变生活的真实问题案例,来给本文右下角点个赞吧👍
如果你也有一直想去解决的重复性问题,欢迎在评论区告诉我🚀大家一起探讨一下。