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的列表中利用remove()方法删除元素的教程
May 21 Python
python实现单线程多任务非阻塞TCP服务端
Jun 13 Python
Python和Java进行DES加密和解密的实例
Jan 09 Python
使用Python设计一个代码统计工具
Apr 04 Python
python3将视频流保存为本地视频文件
Jun 20 Python
Python单元测试unittest的具体使用示例
Dec 17 Python
django解决订单并发问题【推荐】
Jul 31 Python
python实现树的深度优先遍历与广度优先遍历详解
Oct 26 Python
Python使用Opencv实现图像特征检测与匹配的方法
Oct 30 Python
详解Django3中直接添加Websockets方式
Feb 12 Python
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
Apr 22 Python
Python约瑟夫生者死者小游戏实例讲解
Jan 04 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
无限级别菜单的实现
2006/10/09 PHP
Email+URL的判断和自动转换函数
2006/10/09 PHP
关于时间计算的结总
2006/12/06 PHP
smarty中先strip_tags过滤html标签后truncate截取文章运用
2010/10/25 PHP
PHP逐行输出(ob_flush与flush的组合)
2012/02/04 PHP
js从10种颜色中随机取色实现每次取出不同的颜色
2013/10/23 Javascript
在Ubuntu上安装最新版本的Node.js
2014/07/14 Javascript
JavaScript组合拼接字符串的效率对比测试
2014/11/06 Javascript
jQuery选择器源码解读(七):elementMatcher函数
2015/03/31 Javascript
基于jQuery实现火焰灯效果导航菜单
2017/01/04 Javascript
基于bootstrap实现bootstrap中文网巨幕效果
2017/05/02 Javascript
基于LayUI实现前端分页功能的方法
2017/07/22 Javascript
详谈innerHTML innerText的使用和区别
2017/08/18 Javascript
详解Layer弹出层样式
2017/08/21 Javascript
Vue render深入开发讲解
2018/04/13 Javascript
详解如何在微信小程序中愉快地使用sass
2018/07/30 Javascript
[01:01:35]Optic vs paiN 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python中常用的各种数据库操作模块和连接实例
2014/05/29 Python
Python写的PHPMyAdmin暴力破解工具代码
2014/08/06 Python
python 调用HBase的简单实例
2016/12/18 Python
Python内置函数——__import__ 的使用方法
2017/11/24 Python
Python selenium使用autoIT上传附件过程详解
2020/05/26 Python
python实现梯度下降算法的实例详解
2020/08/17 Python
python爬虫构建代理ip池抓取数据库的示例代码
2020/09/22 Python
python中Mako库实例用法
2020/12/31 Python
教你一分钟在win10终端成功安装Pytorch的方法步骤
2021/01/28 Python
英国领先的在线高尔夫商店:Gamola Golf
2019/11/16 全球购物
巴西购物网站:Submarino
2020/01/19 全球购物
管道维修工岗位职责
2013/12/27 职场文书
宿舍卫生检讨书
2014/01/16 职场文书
简历上的自我评价怎么写
2014/01/28 职场文书
迟到检讨书5000字
2014/01/31 职场文书
《英英学古诗》教学反思
2014/04/11 职场文书
教师党员批评与自我批评发言稿
2014/10/15 职场文书
聘任书格式及范文
2015/09/21 职场文书
python3 删除所有自定义变量的操作
2021/04/08 Python