算学了一个多月python了吧,把基础部分很慢很慢的过了。
决定做点小项目练练手,就花了一个多星期学了下爬虫的基本知识,从一开始书内的小任务-从某个小说网爬取10章小说,到最后不断扩展,做了个批量爬取某个小说网站的小说下载器,以后有无限小说看了!!!
下面我来分享下我的制作过程:
1.找到相关小说总目录,右键查看网页源代码,判断为静态网站
,网页源代码中,href右边的是小说地址, title当然是标题了,我们用正则表达式都提取出来
通过把那个XXXX.html 和小说总目录的网址拼接 就是具体章节的url信息了:
放到requests请求内,并且用os模块创建一个文件夹,就可以了
这样定义下载方法方便后面使用:
'Powered By kkinn_'
def Down_file(): #定义txt下载方法
url = f'{html_url}{i}' #i为每一个章节的XXXX.html地址信息 html_url是总目录下的地址
r = requests.Session() #确保单一对话
response = r.get(url, timeout=5) #必须设置响应超时
response.encoding = response.apparent_encoding #自动转码
novel_content = re.findall('<div id="content"><!--go-->(.*?)</div>', response.text, re.S) #正则表达式提取文本内容
novel_name = re.findall('<h1>(.*?)</h1>', response.text, re.S) #正则表达式提取标题
novel = novel_content[0].replace(' ', '').replace('<br/>', '\n') #将文本中给浏览器使用的相关符号去掉
print('正在下载 %s' % novel_name[0].replace('?',