最近在学习爬虫,掌握了点匹毛,记录一下自己的学习进程.可运行代码在最后面
一.爬虫思路
尝试去一些盗版小说网站,类似笔趣阁等网站爬取小说,整理格式,清除网页自带的一些广告语,提高阅读质量。
1.通过目录页面来获取所有章节的链接地址以及章节名称,分别存入两个数组当中
2.利用循环来依次访问链接地址,将章节名称以及小说内容写入打开的文本当中
二.过程的实现细节
1.注意网站的编码方式,以及待写入txt文件的编码方式的一致性
2.网站nginx的访问受限处理,很多网站都放在nginx上,设置了访问限制,短时间内大量访问会导致访问受阻,导致打开正则表达式匹配结果为None,后续写入失败。借助try: except :else来处理对应的AttibutionError,并让代码停止等待一段时间再次运行。
3.对于正则表达式的匹配选择,可以在match与search两个函数中任选其一,但正则表达式的应该保持简洁优先的原则。
实现代码:
import re,sys,time #导入使用的一些库
import requests
#https://www.runoob.com/python3/python3-reg-expressions.html :python正则表达式相关内容链接,不清楚的可以去了解一下
def get_node_list(): #通过get_node_list函数获取小说的章节名称及链接
url = 'http://www.biquge.info/74_74132/' #目录地址
url_temp = 'http://www.biquge.info/74_74132/' #目录页面的章节地址大多只有后续部分,手动记录前面部分,用于拼接成完整地址
resp = requests.get(url)
resp.encoding = 'utf-8'
temp = re.search('<div id&#