python 制作网站筛选工具(附源码)

 更新时间:2021年01月21日 14:57:47   作者:懷淰メ  
平常工作生活中,boos可能会给我们很多网站取提取信息,这些网站有的无法响应,有的404,有的501…真的需要所有网站都访问再提取信息吗?今天写一个小工具用于筛选网站中能访问的网站,在此仅举一例,即状态码为200。

一.思路

1.整体思路

2.代码思路

思路很简单,就是用python发送请求,提取响应体中的状态码加以判断,最后保存到本地txt文本中,以实现网站信息的筛选。

二.撰写代码

import time
import requests
import urllib3
from concurrent.futures import ThreadPoolExecutor

#取源文件中的网址并且去重
def get_url(old_file):
  with open(old_file,'r',encoding='gbk')as f:
    urllist=list(set(f.readlines()))
    return urllist

#主体,发送请求,通过异常捕获判断能否响应,通过状态码判断网闸能否正常访问
def request(url):
  url=url.strip()
  #构造请求头信息
  headers = {
    'Connection': 'keep-alive',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
  }
  try:
    #忽略证书安全警告
    urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
    r=requests.get(url,headers=headers,timeout=10,verify=False)#timeout设置超时时间,我设置了10s,使用verif=False忽略sll认证
    if r.status_code==200:
      cost_time=r.elapsed.total_seconds()#计算访问耗时
      print(url,' ----->【能访问】访问耗时:\033[35;46m{:.2f}s\033[0m'.format(cost_time))
      can_access_save_to_txt(url)
    else:
      print(url,' ----->不能访问,状态码为:\033[31;44m{}\033[0m'.format(r.status_code))
  except:
    print(url, ' ----->不能访问,原因:\033[31;44m不能响应\033[0m')


#将能访问的网址保存到new_file
def can_access_save_to_txt(result):
  result=result.strip()
  #筛选出不是.apk的url,此判断可以不加
  if not result.endswith('.apk'):
    with open(aim_file,'a')as f:
      f.write(result+'\n')


def main():
  s_time=time.time()
  #使用线程池,创建四条线程。
  pool=ThreadPoolExecutor(max_workers=4)
  urls=get_url(orign_file)
  for url in urls:
    pool.submit(request,url)
  pool.shutdown()
  e_time=time.time()
  sum_time=int(e_time-s_time)
  if sum_time>60:
    print(f'\033[38;46m 程序正常执行结束退出!共耗时:【{sum_time//60}分钟】 \033[0m')
  elif sum_time/60>1:
    print(f'\033[38;46m 程序正常执行结束退出!共耗时:【{sum_time//60*60}小时】 \033[0m')


if __name__ == '__main__':
  orign_file=r'E:\test.txt'
  #筛选后能访问的网址
  aim_file="./data/test_can_access.txt"
  #筛选后不能访问的网址
  main()

三.运行结果

四.总结

本次使用python撰写了一款筛选网站的小工具,将网站大致分为能访问和不能访问两类,将能够访问且状态码为200的网站存储到了文件中,最终实现了网站的筛选。思路、代码方面有什么不足欢迎各位大佬指正、批评!

以上就是python 制作网站筛选工具(附源码)的详细内容,更多关于python 制作网站筛选工具的资料请关注脚本之家其它相关文章!

相关文章

  • 基于PyQt5实现的Windows定时关机工具

    基于PyQt5实现的Windows定时关机工具

    在日常使用电脑的过程中,我们经常会遇到需要定时关机的场景,虽然 Windows 自带 shutdown 命令可以定时关机,但操作方式较为繁琐,缺乏可视化界面,因此,本篇文章将带大家实现一个基于 PyQt5 的 Windows 定时关机工具,需要的朋友可以参考下
    2025-04-04
  • python如何解析配置文件并应用到项目中

    python如何解析配置文件并应用到项目中

    这篇文章主要介绍了python如何解析配置文件并应用到项目中,如果我们更换了电脑也可以继续使用原来的文件,只要把里面的数据拷贝到游戏执行的配置文件里面就可以了,我们重新再进入就不用重新设置内挂的配置了,需要的朋友可以参考下
    2019-06-06
  • 手把手教你配置JupyterLab 环境的实现

    手把手教你配置JupyterLab 环境的实现

    这篇文章主要介绍了手把手教你配置JupyterLab 环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • python中scrapy处理项目数据的实例分析

    python中scrapy处理项目数据的实例分析

    在本篇文章里小编给大家整理了关于python中scrapy处理项目数据的实例分析内容,有兴趣的朋友们可以学习下。
    2020-11-11
  • 使用python读取csv文件快速插入数据库的实例

    使用python读取csv文件快速插入数据库的实例

    今天小编就为大家分享一篇使用python读取csv文件快速插入数据库的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python3将数据保存为txt文件的方法

    Python3将数据保存为txt文件的方法

    这篇文章主要介绍了Python3将数据保存为txt文件的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • python魔法方法-属性转换和类的表示详解

    python魔法方法-属性转换和类的表示详解

    下面小编就为大家带来一篇python魔法方法-属性转换和类的表示详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • Python对称的二叉树多种思路实现方法

    Python对称的二叉树多种思路实现方法

    这篇文章主要介绍了Python对称的二叉树多种思路实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Python编程使用tkinter模块实现计算器软件完整代码示例

    Python编程使用tkinter模块实现计算器软件完整代码示例

    这篇文章主要介绍了Python编程实现一个计算器软件完整代码示例,简单介绍了Tkinter的相关内容,然后分享了通过tkinter模块开发一个计算器的完整Python代码,具有一定借鉴价值,需要的朋友可以参考下。
    2017-11-11
  • Tensorflow: 从checkpoint文件中读取tensor方式

    Tensorflow: 从checkpoint文件中读取tensor方式

    今天小编就为大家分享一篇Tensorflow: 从checkpoint文件中读取tensor方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02

最新评论