3种Python检测URL状态
需求:Python检测URL状态,并追加保存200的URL
代码一:
#! /usr/bin/env python
#coding=utf-8
import sys
import requests
def getHttpStatusCode(url):
try:
request = requests.get(url)
httpStatusCode = request.status_code
return httpStatusCode
except requests.exceptions.HTTPError as e:
return e
if __name__ == "__main__":
with open("1.txt", "r") as f:
for line in f:
try:
status = getHttpStatusCode(line.strip("
"))#换行符
if status == 200:
with open("200.txt","a") as f:
f.write(line + "
")
print line
else:
print "no 200 code"
except Exception as e:
print e
代码二:
#! /usr/bin/env python
# -*--coding:utf-8*-
#Python学习交流群:778463939
import requests
def request_status(line):
conn = requests.get(line)
if conn.status_code == 200:
with open("url_200.txt", "a") as f:
f.write(line + "
")
return line13 else:
return None
if __name__ == "__main__":
with open("/1.txt", "rb") as f:
for line in f:
try:
purge_url = request_status(line.strip("
"))
except Exception as e:
pass
代码三:
#! /usr/bin/env python
#coding:utf-8
import os,urllib,linecache
import sys
result = list()
for x in linecache.updatecache(r"1.txt"):
try:
a = urllib.urlopen(x.replace("/n","")).getcode()
#print x,a
except Exception,e:
print e
if a == 200:
#result.append(x) #保存
#result.sort() #排序结果
#open("2.txt", "w").write("%s" % "
".join(result)) #保存入结果文件
with open ("200urllib.txt","a") as f: ## r只读,w可写,a追加
f.write(x + "
")
else:
print "error"