首先对内涵段子吧的URL进行分析,会发现内涵段子吧的分页只改变了末尾的字符。
例如,https://www.neihan8.com/article/index_2.html,中的Index_X,改变的只有X。所以我们对URl进行处理。
def load_page(self, page):
'''
发送内涵段子url请求
得到html源码
'''
url = "https://www.neihan8.com/article/index_"+ str(page) +".html"
#url = "https://www.neihan8.com/article/index_2.html"
user_agent="Mozilla/5.0(compatible; MSIE 9.0; Window NT 6.1; Trident/5.0;"
hearers = { "User_Agent":user_agent}
req = urllib.request.Request(url, headers = hearers)
response = urllib.request.urlopen(req)
html = response.read()
# print (html)
new_html = html.decode('utf-8')
对字符串进行处理,筛选
#用正则表达式过滤 <div class="desc"> </div>
pattern = re.compile(r'<div.*?class="desc">(.*?)</div>')
item_list = pattern.findall(new_html)
return item_list
对所取到的文本存储到txt文件中
def write_to_file(self,txt):
'''
将text文本 存入file_name文件中
'''
print("正在存储文件:")
#1打开文件
f = open('./myStory.txt','a')
#2读写文件
f.write(txt)
#3关闭文件
f.write('.........................................')
f.close()
定义一个虚构函数,用来控制是否爬取下一个分页
def __init__(self):
self.enable = True
self.page = 3 #第几页
pass
网友评论