成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深度剖析Python模塊的性能問題

開發(fā) 后端
下面文章著重對(duì)Python模塊進(jìn)行說明研究,如果有人經(jīng)常用到對(duì)網(wǎng)頁即HTML文件的解析處理時(shí),首先想到的就是Python應(yīng)用程序。

Python應(yīng)用程序被稱為是一門清晰而簡(jiǎn)單的語言,因?yàn)樗淖髡弋?dāng)初在設(shè)計(jì)它的時(shí)候,考慮了初學(xué)者和一些不經(jīng)常接觸到這些開發(fā)語言的人們來說,這是一門非常好的操作語言。

事實(shí)上,通過Python語言提供的各種模塊,我們無需借助Web服務(wù)器或者Web瀏覽器就能夠解析和處理HTML文檔。本文將詳細(xì)介紹如何利用Python抓取和解析網(wǎng)頁。首先,我們介紹一個(gè)可以幫助簡(jiǎn)化打開位于本地和Web上的HTML文檔的Python模塊

然后,我們論述如何使用Python模塊來迅速解析在HTML文件中的數(shù)據(jù),從而處理特定的內(nèi)容,如鏈接、圖像和Cookie等。最后,我們會(huì)給出一個(gè)規(guī)整HTML文件的格式標(biāo)簽的例子,通過這個(gè)例子您會(huì)發(fā)現(xiàn)使用python處理HTML文件的內(nèi)容是非常簡(jiǎn)單的一件事情。

通過Python所帶的urlparse模塊,我們能夠輕松地把URL分解成元件,之后,還能將這些元件重新組裝成一個(gè)URL。當(dāng)我們處理HTML 文檔的時(shí)候,這項(xiàng)功能是非常方便的。函數(shù)urlparse(urlstring [, default_scheme [, allow_fragments]])的作用是將URL分解成不同的組成部分。

它從urlstring中取得URL,并返回元組 (scheme, netloc, path, parameters, query, fragment)。注意,返回的這個(gè)元組非常有用,例如可以用來確定網(wǎng)絡(luò)協(xié)議(HTTP、FTP等等 )、服務(wù)器地址、文件路徑,等等。

函數(shù)urlunparse(tuple)的作用是將URL的組件裝配成一個(gè)URL,它接收元組(scheme, netloc, path, parameters, query, fragment)后,會(huì)重新組成一個(gè)具有正確格式的URL,以便供Python的其他HTML解析模塊使用。函數(shù)urljoin(base, url [, allow_fragments]) 的作用是拼接URL,它以第一個(gè)參數(shù)作為其基地址,然后與第二個(gè)參數(shù)中的相對(duì)地址相結(jié)合組成一個(gè)絕對(duì)URL地址。

函數(shù)urljoin在通過為URL基地址附加新的文件名的方式來處理同一位置處的若干文件的時(shí)候格外有用。需要注意的是,如果基地址并非以字符/結(jié)尾的話。那么URL基地址最右邊部分就會(huì)被這個(gè)相對(duì)路徑所替換。比如,URL的基地址如果希望在該路徑中保留末端目錄,應(yīng)確保URL基地址以字符/結(jié)尾。

上面介紹了如何解析頁面的URL,現(xiàn)在開始講解如何通過URL打開一個(gè)網(wǎng)頁。實(shí)際上,Python所帶的urllib和urllib2這兩個(gè)模塊為我們提供了從URL打開并獲取數(shù)據(jù)的功能,當(dāng)然,這包括HTML文檔。若要通過urllib模塊中的urlopen(url [,data])函數(shù)打開一個(gè)HTML文檔,必須提供該文檔的URL地址,包括文件名。

函數(shù)urlopen不僅可以打開位于遠(yuǎn)程web服務(wù)器上的文件,而且可以打開一個(gè)本地文件,并返回一個(gè)類似文件的對(duì)象,我們可以通過該對(duì)象從HTML文檔中讀出數(shù)據(jù)。一旦打開了HTML文檔,我們就可以像使用常規(guī)文件一樣使用read([nbytes])、readline()和readlines()函數(shù)來對(duì)文件進(jìn)行讀操作。

另一個(gè)常用的函數(shù)是位于從urlopen返回的類文件對(duì)象中的info()函數(shù),這個(gè)函數(shù)可以返回URL位置有關(guān)的元數(shù)據(jù),比如內(nèi)容長(zhǎng)度、內(nèi)容類型,等等。下面通過一個(gè)較為詳細(xì)的例子來對(duì)這些函數(shù)進(jìn)行說明。

對(duì)搜索引擎、文件索引、文檔轉(zhuǎn)換、數(shù)據(jù)檢索、站點(diǎn)備份或遷移等應(yīng)用程序來說,經(jīng)常用到對(duì)網(wǎng)頁(即HTML文件)的解析處理。事實(shí)上,通過Python語言提供的各種模塊,我們無需借助Web服務(wù)器或者Web瀏覽器就能夠解析和處理HTML文檔。

本文中,我們介紹了一個(gè)可以幫助簡(jiǎn)化打開位于本地和Web上的HTML文檔的Python模塊。在下篇中,我們將論述如何使用Python模塊來迅速解析在HTML文件中的數(shù)據(jù),從而處理特定的內(nèi)容,如鏈接、圖像和Cookie等。

【編輯推薦】

  1. 漫談Python 源代碼編制技巧
  2. 簡(jiǎn)單易于操作的Python 工具詳解
  3. 有關(guān)Python應(yīng)用領(lǐng)域進(jìn)行說明介紹
  4. PythonAndroid面向?qū)ο蟮木幊獭?FONT>Python應(yīng)用程序
  5. 如何使用Python模塊解析配置文件 ?
責(zé)任編輯:chenqingxiang 來源: 51CTO
相關(guān)推薦

2010-02-01 13:34:59

Python 腳本

2010-02-23 10:05:52

Python歷史

2010-02-04 15:38:39

Android 手機(jī)

2010-01-08 14:06:49

JSON 形式

2010-03-19 09:34:42

Cisco 2600模

2010-02-05 18:00:18

Android源代碼

2010-02-06 15:32:30

Android架構(gòu)

2010-03-03 10:38:59

2010-02-02 15:25:35

Python語法

2010-02-03 16:56:24

Python包

2010-03-01 14:50:06

Python 工具

2010-03-01 18:33:30

2010-05-24 16:58:44

SVN安裝

2025-01-26 08:50:24

2010-03-17 14:04:05

核心交換機(jī)

2010-01-27 15:50:23

C++復(fù)雜性

2010-02-02 13:22:06

Python面向?qū)ο?/a>

2010-02-03 09:35:20

Python函數(shù)編程

2010-02-03 11:26:28

2010-02-24 16:33:28

Python功能
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 风间由美一区二区三区在线观看 | 亚洲36d大奶网 | 91成人免费| 97caoporn国产免费人人 | 综合久久一区 | 国产精品久久久久久久久久久免费看 | 欧美视频一区二区三区 | 精品国产伦一区二区三区观看方式 | 国产高清在线 | 视频在线一区二区 | 婷婷综合网 | 日韩在线不卡 | 日韩亚洲视频 | 欧美日韩综合视频 | a级片播放 | 琪琪午夜伦伦电影福利片 | 黄色毛片在线播放 | 欧美精品v | 小川阿佐美pgd-606在线 | 91精品久久久久久久久中文字幕 | 久久精品久久久久久 | 国产精品久久久爽爽爽麻豆色哟哟 | 国产丝袜人妖cd露出 | 欧美又大粗又爽又黄大片视频 | 日日噜噜噜夜夜爽爽狠狠视频, | 国产男女精品 | 国产一区二区三区在线视频 | 成人精品网 | 99热在线播放 | 精品亚洲一区二区三区 | 亚洲视频免费在线看 | 成人精品免费视频 | 久久精品成人热国产成 | 色综合久 | 国产精品揄拍一区二区久久国内亚洲精 | 国产九九九九 | 久久婷婷av | 久久精品国产一区二区电影 | 亚洲一区二区三区在线 | 综合久久综合久久 | 久久av网|