最近开始学习爬虫,一开始看的是的爬虫系列文章,今天看到糗事百科成人版,心里就邪恶了一下,把图片都爬下来吧,哈哈~
虽然后来实现了,但还是存在一些问题,暂且不提,先切入正题吧,没什么好说的,直接上代码如下:
环境:Python2.79
1 #coding: utf-8 2 import urllib2 3 import urllib 4 import re 5 import os 6 7 #糗百成人版抓取图片 8 class QBAdult: 9 10 #类初始化11 def __init__(self):12 self.baseURL = "http://www.qiubaichengnian.com/"13 #获取索引页面内容14 def getPage(self, pageIndex):15 url = self.baseURL + "index_" + str(pageIndex) + ".html"16 req_header = { 'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',17 'Accept':'text/html;q=0.9,*/*;q=0.8',18 'Accept-Charset':'ISO-8859-1,utf-8;q=0.7,*;q=0.3',19 'Accept-Encoding':'gzip',20 'Connection':'close',21 'Referer':None #注意如果依然不能抓取的话,这里可以设置抓取网站的host22 }23 req_timeout = 524 request = urllib2.Request(url, None, req_header)25 reponse = urllib2.urlopen(request, None, req_timeout)26 #print reponse.read().decode('gbk')27 return reponse.read().decode('gbk')28 29 #获取页面所有条目信息,list格式30 def getContents(self, pageIndex):31 page = self.getPage(pageIndex)32 pattern = re.compile('div class="ui-module".*?(.*?).*?
其中16-23行的代码是后来出现IOERROR以及超时等错误后加上的,但是这种方法只是治标不治本,时不时程序还会停止,错误如下:
小规模抓取图片,几百页抓取会出现如上问题,我还没有找到什么原因。。。。