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


Posted in Python onJanuary 21, 2021

一.思路

1.整体思路

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

2.代码思路

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

思路很简单,就是用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 制作网站筛选工具(附源码)

四.总结

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

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

Python 相关文章推荐
Python常见文件操作的函数示例代码
Nov 15 Python
python正则匹配查询港澳通行证办理进度示例分享
Dec 27 Python
使用Python编写类UNIX系统的命令行工具的教程
Apr 15 Python
Python中的os.path路径模块中的操作方法总结
Jul 07 Python
Python利用matplotlib生成图片背景及图例透明的效果
Apr 27 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
Jan 09 Python
Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析
Apr 12 Python
pytorch的梯度计算以及backward方法详解
Jan 10 Python
django模板获取list中指定索引的值方式
May 14 Python
django haystack实现全文检索的示例代码
Jun 24 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
Dec 04 Python
python四种出行路线规划的实现
Jun 23 Python
python使用scapy模块实现ping扫描的过程详解
Jan 21 #Python
Python 中如何使用 virtualenv 管理虚拟环境
Jan 21 #Python
python使用scapy模块实现ARP扫描的过程
Jan 21 #Python
Python3利用scapy局域网实现自动多线程arp扫描功能
Jan 21 #Python
Pandas直接读取sql脚本的方法
Jan 21 #Python
python asyncio 协程库的使用
Jan 21 #Python
python palywright库基本使用
Jan 21 #Python
You might like
php mssql 数据库分页SQL语句
2008/12/16 PHP
php 无限级数据JSON格式及JS解析
2010/07/17 PHP
php开启安全模式后禁用的函数集合
2011/06/26 PHP
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
2013/07/03 PHP
ThinkPHP模版引擎之变量输出详解
2014/12/05 PHP
php获取当前页面完整URL地址
2015/12/30 PHP
yii的入口文件index.php中为什么会有这两句
2016/08/04 PHP
javascript TextArea动态显示剩余字符
2008/10/22 Javascript
Jquery调用webService远程访问出错的解决方法
2010/05/21 Javascript
JavaScript获取当前页面上的指定对象示例代码
2014/02/28 Javascript
jQuery CSS()方法改变现有的CSS样式表
2014/09/09 Javascript
谈谈AngularJs中的隐藏和显示
2015/12/09 Javascript
Javascript之Number对象介绍
2016/06/07 Javascript
Bootstrap框架下下拉框select搜索功能
2020/03/26 Javascript
详解AngularJS中ng-src指令的使用
2016/09/07 Javascript
RxJS在TypeScript中的简单使用详解
2020/04/13 Javascript
tracking.js实现前端人脸识别功能
2020/04/16 Javascript
vuex管理状态仓库使用详解
2020/07/29 Javascript
Python使用内置json模块解析json格式数据的方法
2017/07/20 Python
Python3多线程操作简单示例
2018/05/22 Python
Sanic框架路由用法实例分析
2018/07/16 Python
django从请求到响应的过程深入讲解
2018/08/01 Python
python判断文件是否存在,不存在就创建一个的实例
2019/02/18 Python
numpy数组之存取文件的实现示例
2019/05/24 Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
2019/07/24 Python
python正则爬取某段子网站前20页段子(request库)过程解析
2019/08/10 Python
Python Lambda函数使用总结详解
2019/12/11 Python
python实现tail实时查看服务器日志示例
2019/12/24 Python
Python OpenCV实现测量图片物体宽度
2020/05/27 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
Python模块zipfile原理及使用方法详解
2020/08/04 Python
英文翻译的自我评价语句
2013/10/04 职场文书
教师自我评价范文
2013/12/16 职场文书
电大会计学自我鉴定
2014/02/06 职场文书
电影建国大业观后感
2015/06/01 职场文书
毕业欢送晚会主持词
2019/06/25 职场文书