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時,正規表示式就不是那麼...