果然搞黄色才是第一生产力,我从大二就开始想自学编程,几年下来连入门都没学完。
几个月前下黄小说的时候觉得实在太麻烦了,于是开始学习写爬虫。
和大家分享下我用来爬黄网小说的爬虫。
复制代码 import requests import re import os # 输入链接地址 short_url = input('short_url: ') url = 'http://www.dierbanzhu1.com/%s' % short_url # 链接地址 response = requests.get(url) # 请求网页响应 response.encoding = 'gbk' # 重编码 charset html = response.text # 保存网页响应 dl = re.findall(r'<dl>.*?</dl>',html,re.S)[0] # 获取章节数据 chapter_info_list = re.findall(r'href="(.*?)">(.*?)<',dl) # 获取章节列表 novel_title = re.findall(r'<meta property="og:title" content="(.*?)"/>',html)[0]
def mkdir(path): # 新建文件保存小说内容 folder = os.path.exists(path) if not folder: # 判断是否存在文件夹如果不存在则创建为文件夹 os.makedirs(path) # makedirs 创建文件时如果路径不存在会创建这个路径 print("新建文件夹……") print("新建文件夹完成") else: print("已有文件夹") file = novel_title mkdir(file) #获取每章节信息 for chapter_info in chapter_info_list: chapter_url = chapter_info[0] #章节链接地址 chapter_url = "http://www.dierbanzhu1.com%s" % chapter_url #章节网页响应 chapter_response = requests.get(chapter_url) #重编码 chapter_response.encoding = 'gbk' #保存响应 chapter_html = chapter_response.text #章节标题 chapter_title = re.findall(r'<h1>(.*?)</h1>',chapter_html)[0] #章节内容 chapter_content = re.findall(r'<div id="content".*?</div>',chapter_html,re.S)[0]#清洗文档 chapter_content = chapter_content.replace(' ',' ') chapter_content = chapter_content.replace("<br />",' ') chapter_content = chapter_content.replace('<div id="content">',' ') chapter_content = chapter_content.replace('</div>',' ') #保存文档 fb = open(novel_title + '/' + '%s.txt' % chapter_title, 'w', encoding='utf-8') fb.write(chapter_title) fb.write(chapter_content) #完成提醒 print('完成')
|
在
http://www.dierbanzhu1.com/ 打开小说后,将url最后一部分输入即可下载。