3种Python检测URL状态[Python常见问题]

需求: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"
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 3种Python检测URL状态