Python檢測網站連結是否已存在

來源:互聯網
上載者:User
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代碼中標籤。通過尋找標籤中href屬性的value,可以獲得該網頁上所有連結的資訊,只要我們指定的URL存在,就OK了。

這其實是一個很小的指令碼,但也讓我激動不已。一來,我已經跨進了Python的世界,並用它解決了實際工作中的問題,二來,它的簡單文法、縮排格式著實讓我眼前一亮。今後,希望能夠多多使用Python,解決實際工作中的種種問題,做到學以致用.

以上內容是針對Python檢測網站連結是否已存在的相關介紹,希望對大家有所協助!

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.