Python 言語は操作が簡単だと昔から聞いていましたが、確かに、ほんの数文で基本的な機能を実現できます。
指定された URL がターゲット Web サイトに存在するかどうかを検出するプロセスは、実際には非常に簡単です。
1. 指定された Web サイト ページの HTML コードを取得します。
2. HTML コード内を検索します。 指定された URL
3. 存在する場合は OK、存在しない場合はエラー
プログラム全体が 2 つの lib ライブラリ、urllib2 を参照します。 sgmllib。
urllib2 ライブラリは主に、(基本的に HTTP 経由で) URL にアクセスするためのいくつかの関数とクラスを定義します。sgmllib ライブラリは主に HTML コードの解析を担当します。
1 import urllib2 2 from sgmllib import SGMLParser 3 4 class URLLister(SGMLParser): 5 def reset(self): 6 SGMLParser.reset(self) 7 self.urls = [] 8 9 def start_a(self,attrs):10 href=[v for k,v in attrs if k=='href']11 if href:12 if (href[0].count('http://网站URL')==1):13 self.urls.extend(href)14 15 16 links = ['http://www.google.com/',17 'http://www.baidu.com',18 'http://www.sohu.net',19 'http://www.163.com',20 'http://www.cnblogs.com',21 'http://www.qq.com',22 'http://www.yahoo.com/',23 'http://www.bing.com/',24 'http://www.360.com',]25 26 for eachlink in links:27 f = urllib2.urlopen(eachlink)28 if f.code ==200:29 parser = URLLister()30 parser.feed(f.read())31 f.close()32 if (len(parser.urls)>=1):33 print 'The link from '+eachlink+' is OK!'34 else:35 print 'The link from '+eachlink+' is ERROR!'
1. urllib2. urlopen ( url[, data][, timeout] )//URL を開きます
2 、SGMLParser。 feed (data) // 解析する必要がある HTML データを取得します。
3. SGMLParser. start_tag (attributes) // このプログラムでは、start_a を呼び出します。 HTML コード内の タグを解析する必要があることを示します。 タグ内の href 属性の値を検索すると、指定した URL が存在する限り、Web ページ上のすべてのリンクに関する情報を取得できます。
これは実際には小さなスクリプトですが、私も興奮しました。第一に、私は Python の世界に入り、実際の仕事で問題を解決するためにそれを使用しました。第二に、そのシンプルな構文とインデント形式に本当に目を輝かせました。今後は、Python をさらに活用して実務でさまざまな問題を解決し、学んだことを応用していきたいと思っています