Python是一種解釋型、面向對象、動態數據類型的高級程序設計語言。
Python由Guido van Rossum于1989年底發明,第一個公開發行版發行于1991年。
像Perl語言一樣, Python 源代碼同樣遵循 GPL(GNU General Public License)協議。
早就聽說Python語言操作簡單,果然名不虛傳,短短幾句,就實現了基本的功能。
要檢測目標網站上是否存在指定的URL,其實過程很簡單:
1、獲得指定網站網頁的HTML代碼
2、在HTML代碼中查找指定的URL
3、如果存在,OK;否則,Error
整個程序引用了兩個lib庫,urllib2和sgmllib。
urllib2庫主要定義了一些訪問URL(基本通過HTTP)的函數與類。
sgmllib庫主要負責解析HTML代碼。
import urllibfrom sgmllib import SGMLParserclass URLLister(SGMLParser):def reset(self):SGMLParser.reset(self)self.urls = []def start_a(self,attrs):href=[v for k,v in attrs if k=='href']if href:if (href[].count('http://網站URL')==):self.urls.extend(href)links = ['http://www.google.com/','http://www.baidu.com','http://www.sohu.net','http://www..com','http://www.cnblogs.com','http://www.qq.com','http://www.yahoo.com/','http://www.bing.com/','http://www..com',]for eachlink in links:f = urllib.urlopen(eachlink)if f.code ==:parser = URLLister()parser.feed(f.read())f.close()if (len(parser.urls)>=):print 'The link from '+eachlink+' is OK!'else:print 'The link from '+eachlink+' is ERROR!' 這其中幾個主要函數:
1、urllib2.urlopen(url[, data][, timeout])//打開一個URL
2、SGMLParser.feed(data) //獲得需要解析的HTML數據
3、SGMLParser.start_tag(attributes) //指定需要解析的HTML標簽,在本程序中,我們調用了start_a,說明我們需要解析HTML代碼中<a>標簽。通過查找<a>標簽中href屬性的value,可以獲得該網頁上所有鏈接的信息,只要我們指定的URL存在,就OK了。
這其實是一個很小的腳本,但也讓我激動不已。一來,我已經跨進了Python的世界,并用它解決了實際工作中的問題,二來,它的簡單語法、縮進格式著實讓我眼前一亮。今后,希望能夠多多使用Python,解決實際工作中的種種問題,做到學以致用.
以上內容是針對Python檢測網站鏈接是否已存在的相關介紹,希望對大家有所幫助!



















