目的
指定したURLのリンク先が有効かどうかをチェックするpythonスクリプトを作成したので備忘録です
コード
###確認対象がURL1つの場合
以下を参考にさせて頂きました。(一部python3.0用に修正)
sample.py
#-*- using:utf-8 -*-
import urllib.request, urllib.error
def checkURL(url):
try:
f = urllib.request.urlopen(url)
print ("OK:" + url )
f.close()
except:
print ("NotFound:" + url)
if __name__ == '__main__':
url = "http://qiita.com/"
checkURL(url)
実行結果
$ python sample.py
OK:http://qiita.com/
$ python sample.py
NotFound:http://nonenonenonenone.com
###確認対象がURL2つ以上の場合
ファイルから複数行のURLを入力すれば良い
sample2.py
#-*- using:utf-8 -*-
import urllib.request, urllib.error
def checkURL(url):
try:
f = urllib.request.urlopen(url)
print ("OK:" + url )
f.close()
except:
print ("NotFound:" + url)
if __name__ == '__main__':
with open("./input.txt") as f:
for line in f:
# print(line, end='')
checkURL(line)
実行結果
$ cat input.txt
http://qiita.com/
$ python sample2.py
OK:http://qiita.com/
CodingError対策
ImportError: No module named 'urllib2'
下記について、
import urllib2
python3.0系では以下と書く必要がある。
import urllib.request, urllib.error
参考
【Python/urllib】URLが存在しているか確認
Pythonで指定したURLにファイルが存在するかを調べる方法
PythonでURLの有無、存在をチェックするスクリプト
PythonでURLが存在しているか確認
python のModule urllib2 を利用する方法を教えて下さい
Pythonでファイルから一行ずつ読み込み