爬取糗事百科
任务:爬取糗事百科发布者和发布内容
实现:
糗事百科的段子还是很不错的,刚开始爬虫的同学们可以拿它练练手哦。
下面上代码啦,请求头headers是很重要哒,还要注意编码问题呦,这个编码问题可以抽出时间 来专门研究他哟。
还有这次的正则有点不太好写,正则很有用的,要学会呦。
# -*- coding:utf-8 -*- import urllib2 import re import sys reload(sys) sys.setdefaultencoding( "utf-8" )
f = open("c.txt", "ab+") page = 1 for page in range(1, 5): url = 'https://www.qiushibaike.com/hot/page/%s/' % page #糗事百科的url user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' headers = { 'User-Agent' : user_agent } request = urllib2.Request(url,headers = headers) response = urllib2.urlopen(request) content = response.read().decode('utf-8') pattern1 = re.compile(r'<h2>(.*?)</h2>.+?<span>(.*?)</span>',re.S) #正则匹配源代码 items = re.findall(pattern1,content) for item in items: items=re.sub(r'\s','',item[1]) f.write("发布者:"+item[0]+"发布内容:"+items+'\n') f.close()
结果: