新聞中心
在Python語言中具有大量優(yōu)秀的庫可以被直接調(diào)用以高效地完成不同需求的工作,這里列舉一些常見常用的庫,和一些Python模塊,在Python程序中調(diào)用C++開發(fā)的擴(kuò)展功能函數(shù)。

創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括城中網(wǎng)站建設(shè)、城中網(wǎng)站制作、城中網(wǎng)頁制作以及城中網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,城中網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到城中省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
本文將詳細(xì)介紹如何利用Python抓取和解析網(wǎng)頁。首先,我們介紹一個可以幫助簡化打開位于本地和Web上的HTML文檔的Python模塊。后,我們論述如何使用Python模塊來迅速解析在HTML文件中的數(shù)據(jù),從而處理特定的內(nèi)容,如鏈接、圖像和Cookie等。
最后,我們會給出一個規(guī)整HTML文件的格式標(biāo)簽的例子,通過這個例子您會發(fā)現(xiàn)使用python處理HTML文件的內(nèi)容是非常簡單的一件事情。通過Python所帶的urlparse模塊,我們能夠輕松地把URL分解成元件,之后,還能將這些元件重新組裝成一個URL。當(dāng)我們處理HTML 文檔的時(shí)候,這項(xiàng)功能是非常方便的。
- import urlparse
- parsedTuple = urlparse.urlparse(
- "http://www.google.com/search?
- hl=en&q=urlparse&btnG=Google+Search")
- unparsedURL = urlparse.urlunparse((URLscheme, \
- URLlocation, URLpath, '', '', ''))
- newURL = urlparse.urljoin(unparsedURL,
- "/module-urllib2/request-objects.html")
函數(shù)urlparse(urlstring [, default_scheme [, allow_fragments]])的作用是將URL分解成不同的組成部分,它從urlstring中取得URL,并返回元組 (scheme, netloc, path, parameters, query, fragment)。注意,返回的這個元組非常有用,例如可以用來確定網(wǎng)絡(luò)協(xié)議(HTTP、FTP等等 )、服務(wù)器地址、文件路徑,等等。
函數(shù)urlunparse(tuple)的作用是將URL的組件裝配成一個URL,它接收元組(scheme, netloc, path, parameters, query, fragment)后,會重新組成一個具有正確格式的URL,以便供Python的其他HTML解析模塊使用。
函數(shù)urljoin(base, url [, allow_fragments]) 的作用是拼接URL,它以第一個參數(shù)作為其基地址,然后與第二個參數(shù)中的相對地址相結(jié)合組成一個絕對URL地址。函數(shù)urljoin在通過為URL基地址附加新的文件名的方式來處理同一位置處的若干文件的時(shí)候格外有用。
需要注意的是,如果基地址并非以字符/結(jié)尾的話,那么URL基地址最右邊部分就會被這個相對路徑所替換。比如,URL的基地址為Http://www.testpage.com/pub,URL的相對地址為test.html,那么兩者將合并成如果希望在該路徑中保留末端目錄,應(yīng)確保URL基地址以字符/結(jié)尾。
下面是上面幾個函數(shù)的詳細(xì)一點(diǎn)的用法舉例:
- Date: Fri, 26 Jun 2009 10:22:11 GMT
- Server: Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 mod_ssl/2.2.9 OpenSSL/0.9.8g mod_wsgi/2.3 Python/2.5.2
- Last-Modified: Thu, 25 Jun 2009 09:44:54 GMT
- ETag: "105800d-46e7-46d29136f7180"
- Accept-Ranges: bytes
- Content-Length: 18151
- Connection: close
- Content-Type: text/html
- 從http://www.python.org讀取了18151 字節(jié)數(shù)據(jù).
- Content-Type: text/html
- Content-Length: 865
- Last-modified: Fri, 26 Jun 2009 10:16:10 GMT
- 從index.html讀取了865 字節(jié)數(shù)據(jù).
若要通過urllib模塊中的urlopen(url [,data])函數(shù)打開一個HTML文檔,必須提供該文檔的URL地址,包括文件名。函數(shù)urlopen不僅可以打開位于遠(yuǎn)程web服務(wù)器上的文件,而且可以打開一個本地文件,并返回一個類似文件的對象,我們可以通過該對象從HTML文檔中讀出數(shù)據(jù)。
一旦打開了HTML文檔,我們就可以像使用常規(guī)文件一樣使用read([nbytes])、readline()和readlines()函數(shù)來對文件進(jìn)行讀操作。若要讀取整個HTML文檔的內(nèi)容的話,您可以使用read()函數(shù),該函數(shù)將文件內(nèi)容作為字符串返回。
打開一個地址之后,您可以使用Python模塊取得被獲取網(wǎng)頁的真正的URL。這是很有用的,因?yàn)閡rlopen(或使用的opener對象)也許會伴隨一個重定向。獲取的網(wǎng)頁URL也許和要求的網(wǎng)頁URL不一樣。
另一個常用的函數(shù)是位于從urlopen返回的類文件對象中的info()函數(shù),這個函數(shù)可以返回URL位置有關(guān)的元數(shù)據(jù),比如內(nèi)容長度、內(nèi)容類型,等等。下面通過一個較為詳細(xì)的例子來對這些函數(shù)進(jìn)行說明。
網(wǎng)站名稱:有關(guān)Python模塊內(nèi)容說明介紹
分享地址:http://m.fisionsoft.com.cn/article/dhhoics.html


咨詢
建站咨詢
