python爬虫抓取文本_Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例...
本文實例講述了Python實現可獲取網易頁面所有文本信息的網易網絡爬蟲功能。分享給大家供大家參考,具體如下:
#coding=utf-8
#---------------------------------------
# 程序:網易爬蟲
# 作者:ewang
# 日期:2016-7-6
# 語言:Python 2.7
# 功能:獲取網易頁面中的文本信息并保存到TXT文件中。
#---------------------------------------
import string
import urllib2
import re
import os
class 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):
#匹配
xxxxmyTitle=re.search(r'
(.*?)',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):
#獲取XXX的文本信息XXX
emTagItems=re.findall("(\W+?)",page,re.S)
#獲取XXXX的文本信息XXXX
spanTagItems=re.findall("(\W+?)",page,re.S)
#獲取XXXX的文本信息XXXX
aTagItems=re.findall("(\W+?)",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()
希望本文所述對大家Python程序設計有所幫助。
總結
以上是生活随笔為你收集整理的python爬虫抓取文本_Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 未成年能办哪种信用卡
- 下一篇: python3.8怎么打开创建_Pyth