本文實例講述了Python實現可獲取網易頁面所有文本信息的網易網絡爬蟲功能。分享給大家供大家參考,具體如下:
#coding=utf-8#---------------------------------------# 程序:網易爬蟲# 作者:ewang# 日期:2016-7-6# 語言:Python 2.7# 功能:獲取網易頁面中的文本信息并保存到TXT文件中。#---------------------------------------import stringimport urllib2import reimport osclass WangYi_Spider: #申明相關屬性 def __init__(self): #給wangyiUrl屬性賦值 self.wangyiUrl="http://www.163.com/" #用來保存頁面中文字信息 self.pageinfor=[] print u'已經啟動網易爬蟲,爬爬...' #初始化加載頁面并將其轉碼存儲 def wangyi(self): #讀取頁面的原始信息并將其從gbk轉碼 Page=urllib2.urlopen(self.wangyiUrl).read().decode('gbk') #獲取頁面標題 title=self.find_title(Page) print u'網頁名稱:'+title #獲取頁面中文本信息 self.save_infor(title) #查找頁面標題 def find_title(self,page): #匹配<title>xxxx</title> myTitle=re.search(r'<title>(.*?)</title>',page,re.S) #初始化標題名為暫無標題 title=u'暫無標題' #如果標題存在把標題賦值給title if myTitle: #(.*?)這稱作一個group,組是從1開始 title=myTitle.group(1) else: print u'爬蟲報告:無法加載網頁標題...' return title #保存頁面信息 def save_infor(self,title): #加載頁面文本信息到數組中 self.get_infor() #創建并打開本地文件 f=open(title+'.txt','w+') #把獲取的頁面信息寫入文件中 f.writelines(self.pageinfor) #關閉打開的文件 f.close() print u'爬蟲報告:文件'+title+'.txt'+u'已經下載:'+os.getcwd() print u'按任意鍵退出...' raw_input() #獲取頁面源碼并將其存儲到數組中 def get_infor(self): #獲取頁面中的源碼 page=urllib2.urlopen(self.wangyiUrl).read() #把頁面中的內容gbk解碼然后獲取頁面中所有的文本信息 self.deal_infor(page.decode('gbk')) #從頁面代碼中獲取所需文信息 def deal_infor(self,page): #獲取<em >XXX</em>的文本信息XXX emTagItems=re.findall("<em.*?>(/W+?)</em>",page,re.S) #獲取<span>XXXX</a>的文本信息XXXX spanTagItems=re.findall("<span>(/W+?)</span>",page,re.S) #獲取<a .*>XXXX</a>的文本信息XXXX aTagItems=re.findall("<a.*?>(/W+?)</a>",page,re.S) #把em tag中獲取的文本信息添加到數組pageinfor中 for emItem in emTagItems: #對獲取的文本信息用gbk進行編碼 self.pageinfor.append(emItem.encode('gbk')+'/n') #把span tag中獲取的文本信息添加到數組pageinfor中 for spanItem in spanTagItems: #對獲取的文本信息用gbk進行編碼 self.pageinfor.append(spanItem.encode('gbk')+'/n') #把a tag中獲取的文本信息添加到數組pageinfor中 for aItem in aTagItems: #對獲取的文本信息用gbk進行編碼 self.pageinfor.append(aItem.encode('gbk')+'/n')#------------程序入口處----------------print u"""#---------------------------------------# 程序:網易爬蟲# 作者:ewang# 日期:2016-7-6# 語言:Python 2.7# 功能:獲取網易頁面中的文本信息并保存到TXT文件中#--------------------------------------------------"""wangyiSpider=WangYi_Spider()wangyiSpider.wangyi()
新聞熱點
疑難解答