爬取小说并在手机上看

有时候在手机APP软件上看的一部小说到某一章看不了了,是vip章节,我在电脑浏览器上搜了下发现网页上是有全本的,都能看。但是网页广告多,啥都有,一不小心就点进去了,很是麻烦。我想,爬下来吧。。。

很简单的小爬虫,网站也没有啥反爬,加个头就好了。主要记录的是怎么能在手机上看这个坑。

我刚开始是把每一章作为一个txt文件存储的
在这里插入图片描述
但是发现这样虽然看起来很清楚,但是传到手机上之后,用看书软件打开,只能一章一章的读。也就是第一章读完了就算结束了,不会跳转第二章。后面我就把它们全部放到一个TXT中。

但是打开后发现看书软件识别不了标题啊,虽然是可以一直看完,但是我没法选直接看第几章
在这里插入图片描述
在这里插入图片描述
后来又试了很多办法,这里就不一一介绍了,直接说解决的办法。
我是在存标题的时候,在标题前面加了 ‘第几章’,后面加了回车换行符。好像读书软件可以识别这种格式的作为标题。
这样一来,用读书软件打开就可以看了。我用的掌阅作为看书软件。完整代码在这里:

import requests
from bs4 import BeautifulSoup
headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36',
    }
url='https://www.xianqihaotianmi.com/book/8979.html'
rq=requests.get(url,headers=headers)
rq.encoding='utf8'
content=rq.text
soup=BeautifulSoup(content,'lxml')
con_list=soup.find('ul',class_='list-group list-charts').findAll('li')
# print(con_list)
num=0
for x in con_list:
    num+=1
    link_1=x.find('a')['href']
    link='https://www.xianqihaotianmi.com'+link_1
    print(link)
    rq1=requests.get(link,headers=headers)
    rq1.encoding='utf8'
    data=rq1.text
    soup=BeautifulSoup(data,'lxml')
    # print(soup)
    title1=soup.find('li',class_='active').get_text()+'\n'
    title='第{}章'.format(str(num))+title1
    # print(title)
    count=soup.find('div',class_='panel-body content-body content-ext').get_text()
    # print(count)
    with open("傅少的哑巴新妻.txt", "a+", encoding="utf-8") as f:
        f.write(title+count+ "\n")
    print(title,'已下载')

接下来老规矩,看下效果:
在这里插入图片描述
目录清楚的识别了出来,我们直接点第九章看:
在这里插入图片描述
可以看到也是直接能看的,到这里就可以看出来,效果就跟直接从读书软件的书城下载下来的一般无二了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值