免责声明:本资源并未取得原始权利人的授权,不可商用,仅可用于学习分析底层代码,CSS等,禁止用于商业行为。如因擅自商用引起的相关纠纷及法律责任,由使用人全部承担。支持正版,人人有责,请于下载后24小时内删除,谢谢支持!
如果蓝奏云下载失效请更换最新链接:nnym.lanzouh.com//xxxx 【x改成h】
输入小说的ID号,该ID号可在
![【教程分享】[Python] 百度小说全文爬取-牛牛源码库 【教程分享】[Python] 百度小说全文爬取-牛牛源码库](http://img.nnymk.com/2022/05/e38090e69599e7a88be58886e4baabe38091python-e799bee5baa6e5b08fe8afb4e585a8e69687e788ace58f96.png)
中查看
默认存放路径D:/小说
import time,osimport requestsimport asyncioimport aiohttpimport aiofilesasync def get_chapters_ids(n_id):book_url = f'https://dushu.baidu.com/api/pc/getCatalog?data=%7B"book_id":{n_id}%7D't_start = int(time.time())tasks =[]with requests.get(book_url) as respon:dic = respon.json()for i in dic['data']['novel']['items']:title = i['title']chapter_id = i['cid']tasks.append(asyncio.create_task(get_chapters(n_id,title,chapter_id)))await asyncio.wait(tasks)t_over = int(time.time())print('下载完毕!')print('共用时:',t_over-t_start,'秒')async def get_chapters(n_id,title,chapter_id):chapter_url = f'https://dushu.baidu.com/api/pc/getChapterContent?data=%7B"book_id":"{n_id}","cid":"{n_id}|{chapter_id}","need_bookinfo":1%7D'# print(chapter_url)async with aiohttp.ClientSession() as req:async with req.get(chapter_url) as respon:dic = await respon.json()async with aiofiles.open(f'D:\小说\{title}.txt',mode='w',encoding='utf-8') as f:await f.write(dic['data']['novel']['content'])print(title,'下载完成')if __name__ =='__main__':if not os.path.exists(r'd:\小说'):os.mkdir(r'd:\小说')novel_id = input('输入小说编号:')loop = asyncio.new_event_loop()asyncio.set_event_loop(loop)loop.run_until_complete(get_chapters_ids(novel_id))import time,os import requests import asyncio import aiohttp import aiofiles async def get_chapters_ids(n_id): book_url = f'https://dushu.baidu.com/api/pc/getCatalog?data=%7B"book_id":{n_id}%7D' t_start = int(time.time()) tasks =[] with requests.get(book_url) as respon: dic = respon.json() for i in dic['data']['novel']['items']: title = i['title'] chapter_id = i['cid'] tasks.append(asyncio.create_task(get_chapters(n_id,title,chapter_id))) await asyncio.wait(tasks) t_over = int(time.time()) print('下载完毕!') print('共用时:',t_over-t_start,'秒') async def get_chapters(n_id,title,chapter_id): chapter_url = f'https://dushu.baidu.com/api/pc/getChapterContent?data=%7B"book_id":"{n_id}","cid":"{n_id}|{chapter_id}","need_bookinfo":1%7D' # print(chapter_url) async with aiohttp.ClientSession() as req: async with req.get(chapter_url) as respon: dic = await respon.json() async with aiofiles.open(f'D:\小说\{title}.txt',mode='w',encoding='utf-8') as f: await f.write(dic['data']['novel']['content']) print(title,'下载完成') if __name__ =='__main__': if not os.path.exists(r'd:\小说'): os.mkdir(r'd:\小说') novel_id = input('输入小说编号:') loop = asyncio.new_event_loop() asyncio.set_event_loop(loop) loop.run_until_complete(get_chapters_ids(novel_id))import time,os import requests import asyncio import aiohttp import aiofiles async def get_chapters_ids(n_id): book_url = f'https://dushu.baidu.com/api/pc/getCatalog?data=%7B"book_id":{n_id}%7D' t_start = int(time.time()) tasks =[] with requests.get(book_url) as respon: dic = respon.json() for i in dic['data']['novel']['items']: title = i['title'] chapter_id = i['cid'] tasks.append(asyncio.create_task(get_chapters(n_id,title,chapter_id))) await asyncio.wait(tasks) t_over = int(time.time()) print('下载完毕!') print('共用时:',t_over-t_start,'秒') async def get_chapters(n_id,title,chapter_id): chapter_url = f'https://dushu.baidu.com/api/pc/getChapterContent?data=%7B"book_id":"{n_id}","cid":"{n_id}|{chapter_id}","need_bookinfo":1%7D' # print(chapter_url) async with aiohttp.ClientSession() as req: async with req.get(chapter_url) as respon: dic = await respon.json() async with aiofiles.open(f'D:\小说\{title}.txt',mode='w',encoding='utf-8') as f: await f.write(dic['data']['novel']['content']) print(title,'下载完成') if __name__ =='__main__': if not os.path.exists(r'd:\小说'): os.mkdir(r'd:\小说') novel_id = input('输入小说编号:') loop = asyncio.new_event_loop() asyncio.set_event_loop(loop) loop.run_until_complete(get_chapters_ids(novel_id))
感谢您的来访,获取更多精彩文章请收藏本站。

MianzeShengming
1、本站提供的源码不拥有任何权利,其版权归原著者拥有。
2、保证站内提供的所有可下载资源(软件等等)都是按“原样”提供,本站未做过任何大规则的修改;但本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。
3、牛牛源码库平台服务中的任何信息或材料的删除、存储失败、错误提供或未及时提供不承担任何责任。
4、牛牛源码库平台其许可方不对通过牛牛源码库网主题服务得到的或在其上刊登广告所推介的产品或服务、通过由牛牛源码库平台服务提供的任何链接而得到的产品或服务,以及通过在牛牛源码库网平台服务中所提供的任何链接而得到的任何信息或建议做任何担保,对因通过服务下载或访问网上的任何信息或材料而导致的任何伤害不承担任何责任。
5、牛牛源码库平台服务包含的下载资源信息内的所有内容并不反映亦不代表任何牛牛源码库平台之意见。
6、牛牛源码库平台服务包含的下载资源信息内的所有内容并不反映亦不代表任何牛牛源码库平台之意见。牛牛源码库平台作为模板共享网络服务提供者,对非法转载,盗版行为的发生不具备充分的监控能力,但是当版权拥有者提出侵权指控并出示充分的版权证明材料时,牛牛源码库网平台负有移除盗版和非法转载作品以及停止继续传播的义务。
7、牛牛源码库平台对他人在网站上实施的此类侵权行为不承担法律责任,侵权的法律责任概由会员本人承担,向牛牛源码库发布作品的作者视为同意牛牛源码库就前款情况采取的相应措施。
8、牛牛源码库平台在满足前款条件下采取移除等相应措施后不为此向原发布人承担违约责任或其他法律责任,包括不承担因侵权指控不成立而给原发布人带来损害的赔偿责任。
9、本网站所有源码、模板、视频、软件和资料均为软件作者提供和站长从互联网收集整理而来,仅供学习和研究使用,请勿用于其他用途。如果版权拥有者发现自己作品被侵权,请及时向牛牛源码库提出权利通知,将身份证明、权属证明、具体链接(URL)及详细侵权情况证明发往(邮箱:1138006142@qq.com)指出,牛牛源码库平台在收到上述法律文件后,在7个工作日内移除相关涉嫌侵权的内容。
暂无评论内容