3種Python檢測URL狀態
阿新 • • 發佈:2020-10-09
需求: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('\n'))#換行符 if status == 200: with open('200.txt','a') as f: f.write(line + '\n') 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 + '\n') 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('\n')) 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' % '\n'.join(result)) #儲存入結果檔案 with open ('200urllib.txt','a') as f: ## r只讀,w可寫,a追加 f.write(x + '\n') else: print 'error'