有时候看小说还要在网页看,下载还要付费,所以我用python直接下载好文件,传在手机就可以看,非常的方便,所以我就拿大家比较熟知的电子书斗破苍穹为例子提供大家参考
这个操作需要的工具:python3版本以上
一个编辑器建议:pycharm
第三方库:request os re
还要一个会粘贴复制而手
话不多说,代码在下面,需要的小伙伴拿去用吧
# 第三方库引用 import requests import re import os import time # 数据存放目录 会用到os库 if not os.path.exists('斗破苍穹'): os.makedirs('斗破苍穹') # 请求头 会用到requests库 dou_1_url = "http://www.xbiquge.la/7/7877/" headers = { 'Host': 'www.xbiquge.la', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36' } response = requests.get(dou_1_url, headers=headers) response.encoding = response.apparent_encoding result_1 = response.text # print(result_1) # 正则表达式 提取目录 用到re库 result_2 = re.findall("<dd><a href='/7/7877/(.*?)' >(.*?)</a></dd>", result_1) # print(result_2) # 提取名字和网址 for url_, name in result_2: dou_2_url = dou_1_url + url_ # print(name, dou_2_url) # 响应提取的网址 time.sleep(0.5) response_ = requests.get(dou_2_url, headers=headers) response_.encoding = response_.apparent_encoding result_3 = re.findall(' (.*?)<br /><br /><p><a', response_.text, re.S) # 保存 with open('斗破苍穹\\'+name, mode='w', encoding='utf-8')as f: f.write(result_3[0].replace('<br />', '').replace(' ', '')) print('正在下载:', name) print('end')