1. 程式人生 > >網易頁面的網路爬蟲,獲取網易頁面的所有文字資訊

網易頁面的網路爬蟲,獲取網易頁面的所有文字資訊

#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):
		#匹配<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()		
	

相關推薦

頁面網路爬蟲獲取頁面所有文字資訊

#coding=utf-8 #--------------------------------------- # 程式:網易爬蟲 # 作者:ewang # 日期:2016-7-6 # 語言:Python 2.7 # 功能:獲取網易頁面中的文字資訊並儲存到

雲反爬蟲中國新說唱

這篇文章是之前在公眾號寫的 登入https://music.163.com/ 網易雲音樂搜尋新說唱,開啟Chrome的開發工具工具選擇Network並重新載入頁面,找到與評論資料相關的請求即name為 web?csrf_token=的POST請求,如下圖所示

利用Python網路爬蟲實現對雲音樂歌詞爬取

今天小編給大家分享網易雲音樂歌詞爬取方法。 本文的總體思路如下: 找到正確的URL,獲取原始碼; 利用bs4解析原始碼,獲取歌曲名和歌曲ID; 呼叫網易雲歌曲API,獲取歌詞; 將歌詞寫入檔案,並存入本地。 本文的目的是獲取網易雲音樂的歌詞,並將歌詞存入到本地檔案。整

java 當本地連線和無線連結同時存在時獲取目標IP同一段的本地連結IP地址

import java.net.Inet4Address; import java.net.InetAddress; import java.net.InterfaceAddress; import java.net.NetworkInterface; import java

android——自動檢測網路變化彈出對話方塊提示

一、首先,建立一個類繼承BroadcastReceiver,重寫onReceive 方法 在onReceive方法中新增操作程式碼 二、在MainActivity中添加註冊操作 三、別忘了,在AndroidManifest.xml中新增許可權 <

狐 "由於網路問題您已經與伺服器斷開連線請重新連線"

發現竟然是伺服器配置ip的問題,一開始因為是在自己的電腦上測試,所以ip全設定成了“127.0.0.1”,然後發給其他人,發現就報“由於網路問題,您已經與伺服器斷開連線,請重新連線” 錯誤,後來發現就是這個ip問題,改成區域網相應的ip就行了

讓我們寫一個網路爬蟲下載頁面所有的照片吧!

什麼是網路爬蟲? 網路爬蟲是一種非常有意思的程式。偌大的Internet,就像是一隻蜘蛛織成的大網:一個個超級連結就是蛛絲,將無數頁面連線起來,而網路爬蟲,則會沿著一根根蛛絲,爬遍每一個節點…… 網路爬蟲能幹嘛? 蜘蛛在網上爬來爬去,當然不是為了健身。它會在網上尋覓獵

使用c#進行socket程式設計時獲取絡卡的資訊

在進行程式設計時,有時候,我們需要知道資料包是來自哪個網絡卡,網絡卡的IP地址是多少,以便於進行進一步的操作。由於收到的資料包可能是廣播包或者是組播包,所以我們不能根據IP資料包的目的地址進行判斷。那麼使用C#進行網路程式設計時,如何獲取到資料包相關的網絡卡資訊? 我在網上

winPcap獲取絡卡網路地址和子掩碼

下面是獲取網路地址(不是IP地址)和子網掩碼的示例,沒時間接著往下做例子了,因為接下來需要在LINUX下面使用libPcap,當然我會貼出程式碼,會linux程式設計的大牛一般都會,所以準確的說是貼給自己的,喜歡玩資料包的朋友自己看官方例子就行 #include<pc

這個雲JS解密抑雲看了都直呼內行

> 最近更新頻率慢了,這不是因為CK3發售了嘛,一個字就是“肝”。今天來看一下網易雲音樂兩個加密引數**params**和**encSecKey**,順便抓取一波某歌單的粉絲,有入庫哦,使用**mysql**儲存,覺得有幫助的別忘了關注一下公眾號啊,完整的JS程式碼都已整理好,請關注**知識圖譜與大資料

Delphi使用ADO連接絡數據庫後重連問題

無法 create exit eat bject sender class exce cep 原始文章: https://blog.csdn.net/blog_jihq/article/details/11737699# 使用TADOConnection對象連接網絡數據庫

vue獲取路由資訊獲取上一個頁面的路由資訊

beforeRouteEnter (to, from, next) { console.log(to) console.log(from)      console.log(next)      cons

html5之間跳轉頁面傳參獲取資料以及跳轉後就執行頁面的js程式碼

本次解決的內容如標題:html5之間跳轉頁面傳資料以及跳轉後就執行頁面的js程式碼 舉個我的栗子:就是點選視訊圖片描述後,跳轉到播放該視訊的h5,因為跳轉後視訊播放頁面video標籤需要播放地址,一個視訊的話可以寫死地址,多個視訊的話,就要想寫幾十個h5...想想就難受,所以就需要兩個網頁之

初識和利用Servlet獲取和顯示頁面提交的資料以及對MySQL資料庫的簡單操作 7.04

Servlet:web伺服器端的程式設計技術。是繼承了javax.servlet.http.HttpServlet類的Java類。由支援servlet的web伺服器(tomcat)呼叫和啟動執行。一個

iOS 非同步載入網路圖片獲取圖片真實尺寸

專案需求: 在網路上載入一組圖片的資料,並且這組圖片要按照比例展示出來 做法分析: (1)首頁介面上要是使用的圖片控制元件的建立,這裡的高度是用設定的高度,這部分需要在主執行緒完成; (2)第二部部分是獲取圖片的實際尺寸,這部分線上程中完成; (3)然後需要在主執行緒重新整

小程式系列課程之6事件繫結獲取元素ID頁面傳值獲取資料

根據在頁面需要實現不同的跳轉和不同的頁面傳值,梳理了以下情況情況一:在小程式的開發過程中會用到動態傳參,比如根據某一個頁面傳參不同,載入不同的新的頁面(一般會用到wx:for迴圈顯示陣列,實現的功能是點選不同的元素進入不同的頁面,比如在另一個頁面載入某個元素的詳細資訊。)情況

python爬蟲獲取百度貼吧圖片

直接上程式碼: #!/usr/bin/env python # -*- coding:utf-8 -*- import urllib import urllib2 from lxml import etree def loadPage(url):

什麼是網路爬蟲我們為什麼要學習網路爬蟲

​ 一、什麼是網路爬蟲        網路爬蟲又稱網路蜘蛛、網路螞蟻、網路機器人等,可以自動化瀏覽網路中的資訊,當然瀏覽資訊的時候需要按照我們制定的規則進行,這些規則我們稱之為網路爬蟲演算法。使用Python可以很方便地編寫出爬蟲程式,進行網際網路資訊的自動化檢索。

Booking網站爬蟲獲取酒店評論內容(Python)

1、爬蟲目標 booking旅遊網站香港地區酒店的評論內容 2、爬蟲步驟 (1)gethotelurl.py (2)booking.py (注:該程式碼爬的是英文評論,如若想要中文評論內容,按照註釋中的修改90、91行即可) 從hot

Python 網路爬蟲 004 (程式設計) 如何編寫一個網路爬蟲來下載(或叫:爬取)一個站點裡的所有網頁

爬取目標站點裡所有的網頁 使用的系統:Windows 10 64位 Python語言版本:Python 3.5.0 V 使用的程式設計Python的整合開發環境:PyCharm 2016 04