Python 網路程式設計測試 Parser初探

2021-06-06 06:59:12 字數 1211 閱讀 8529

html或者xhtml可能是每個使用電腦的人最常接觸的程式語言,在感嘆google , bing , baidu等等(順便加上我老師的安圖搜尋

下面的code是測試而已,不論從「表面「或者從」內在「來說都存在一大堆問題,僅供同學們參考

code實現了從網頁資訊中獲取url的功能

class imgparser(htmlparser):

def __init__(self):

self.tag = ''

self.attrs = ''

self.readingtitle = false

htmlparser.__init__(self)

def handle_starttag(self , tag , attrs):

if tag == 'img':

self.readingtitle = true

for name , value in attrs:

print(value)

def handle_data(self , data):

if self.readingtitle == true:

self.tag += data

def handle_endtag(self , tag):

if tag == 'img':

self.readingtitle = false

這裡htmlparser模組還是要說一下的(很有意思的模組):

htmlparser本身是不提供太多功能的,如果需要解析html的話,就繼承htmlparser就可以了。對於一些特定的功能函式,類似於c++中的virtual函式(個人理解)來定義對html中的element進行細微的處理:

handle_starttag(self , tag , attrs): 處理開始標籤內的資訊

data,其中attrs(屬性)將會以儲存在list中

handle_endtag(self , tag):處理結束標籤內的資訊data

handle_data(self , data):處理元素資料資訊data

測試的test.html:

here is the test

當然乙個好的parser(爬蟲諧音麼???是音譯過來的???牛人指教)不會三下兩下就完成的,了解解析機制之後,要做的就是虛心學習,交流和努力了 

Python網路程式設計測試 DNS

dns就是傳說中的網域名稱解析,完成網域名稱和ip之間的轉換過程,值得注意的是 反向dns是由ip到網域名稱,這需要和逆向相區別。python 2.6以下版本,3.2還沒試過,有了解的同學請指教 並沒有 原生 的提供dns相關功能的module,pydns 在sourcerage上可以直接搜尋到,或...

python 網路程式設計測試 host應答

五一假期最後一天,隨便寫寫code,先上個小小伺服器應答udp請求。由於本人只有一台機器,所以使用的是lo0埠,socket設定為so reuseaddr 伺服器端 test of host import sys socket traceback time host xport sys.argv 1...

Python 網路程式設計測試 HTML解析

python提供了乙個htmlparser的模組,當然現在web page通常都多多少少存在html不規範的問題,比如說但是並沒有關閉 也就是說沒有 雖然xhtml可以避免這種事情的發生 mxtidy 和utidylib通常可以完成html正規化的處理工作。似乎在解析html時,正規表示式就不是那麼...