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 SqlAlchemy
Feb 12 Python
深入解析Python中的__builtins__内建对象
Jun 21 Python
老生常谈Python序列化和反序列化
Jun 28 Python
python八大排序算法速度实例对比
Dec 06 Python
python实现二叉树的遍历
Dec 11 Python
Python使用cx_Freeze库生成msi格式安装文件的方法
Jul 10 Python
python绘制散点图并标记序号的方法
Dec 11 Python
python GUI库图形界面开发之PyQt5控件QTableWidget详细使用方法与属性
Feb 25 Python
Python基于pyecharts实现关联图绘制
Mar 27 Python
python matlab库简单用法讲解
Dec 31 Python
PyTorch 如何自动计算梯度
May 23 Python
Python图片处理之图片裁剪教程
May 27 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对MongoDB[NoSQL]数据库的操作
2013/03/01 PHP
PHP定时执行任务的3种方法详解
2015/12/21 PHP
CodeIgniter生成静态页的方法
2016/05/17 PHP
PHP面向对象之里氏替换原则简单示例
2018/04/08 PHP
PHP实现PDO操作mysql存储过程示例
2019/02/13 PHP
js 小贴士一星期合集
2010/04/07 Javascript
jquery使用ajax实现微信自动回复插件
2014/04/28 Javascript
详解js闭包
2014/09/02 Javascript
jQuery中click事件用法实例
2014/12/26 Javascript
jQuery实现向下滑出的平滑下拉菜单效果
2015/08/21 Javascript
谈谈jQuery之Deferred源码剖析
2016/12/19 Javascript
利用VUE框架,实现列表分页功能示例代码
2017/01/12 Javascript
angularjs实现简单的购物车功能
2017/09/21 Javascript
vue+iview写个弹框的示例代码
2017/12/05 Javascript
create-react-app修改为多页面支持的方法
2018/05/17 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
搭建vue开发环境
2018/07/19 Javascript
vue通过数据过滤实现表格合并
2020/11/30 Javascript
微信小程序实现打开并下载服务器上面的pdf文件到手机
2019/09/20 Javascript
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
浅谈js中的attributes和Attribute的用法与区别
2020/07/16 Javascript
[01:04]不如跳舞!DOTA2新英雄玛尔斯的欢乐日常
2019/03/11 DOTA
python实现将内容分行输出
2015/11/05 Python
python 计算文件的md5值实例
2017/01/13 Python
Python通过paramiko远程下载Linux服务器上的文件实例
2018/12/27 Python
对python中不同模块(函数、类、变量)的调用详解
2019/07/16 Python
佳能德国网上商店:Canon德国
2017/03/18 全球购物
马德里竞技官方网上商店:Atletico Madrid Shop
2019/03/31 全球购物
会计顶岗实习心得
2014/01/25 职场文书
高中学生自我评价范文
2014/09/23 职场文书
委托收款证明
2015/06/23 职场文书
教务处教学工作总结
2015/08/10 职场文书
领导干部学习三严三实心得体会
2016/01/05 职场文书
2019年英语版感谢信(8篇)
2019/09/29 职场文书
Mysql8.0递归查询的简单用法示例
2021/08/04 MySQL
Python函数对象与闭包函数
2022/04/13 Python