Python检测URL的3种状态


需求: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'

介绍到这里,更多Python学习请参考编程字典Python教程 和问答部分,谢谢大家对编程字典的支持。


原文链接:https://www.cnblogs.com/xxpythonxx/p/13788535.html