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 获取et和excel的版本号
Apr 09 Python
编写Python爬虫抓取暴走漫画上gif图片的实例分享
Apr 20 Python
Python实现的远程登录windows系统功能示例
Jun 21 Python
numpy matrix和array的乘和加实例
Jun 28 Python
详解分布式任务队列Celery使用说明
Nov 29 Python
Python关于excel和shp的使用在matplotlib
Jan 03 Python
python中使用ctypes调用so传参设置遇到的问题及解决方法
Jun 19 Python
Python之修改图片像素值的方法
Jul 03 Python
基于Python的一个自动录入表格的小程序
Aug 05 Python
python 调整图片亮度的示例
Dec 03 Python
python反扒机制的5种解决方法
Feb 06 Python
Python matplotlib安装以及实现简单曲线的绘制
Apr 26 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
YB217、YB235、YB400浅听
2021/03/02 无线电
php中header跳转使用include包含解决参数丢失问题
2015/05/08 PHP
简单理解PHP的面向对象编程方式
2016/05/17 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
2016/09/11 PHP
php的api数据接口书写实例(推荐)
2016/09/22 PHP
PHP中的正则表达式实例详解
2017/04/25 PHP
javascript下阻止表单重复提交、防刷新、防后退
2007/08/17 Javascript
Jquery乱码的一次解决过程 图解教程
2010/02/20 Javascript
基于JQuery的一个简单的鼠标跟随提示效果
2010/09/23 Javascript
JS 自定义带默认值的函数
2011/07/21 Javascript
制作jquery遮罩层效果导航菜单代码分享
2013/12/25 Javascript
Jquery on方法绑定事件后执行多次的解决方法
2016/06/02 Javascript
详解JavaScript权威指南之对象
2016/09/27 Javascript
让你彻底掌握es6 Promise的八段代码
2017/07/26 Javascript
AngularJS实现自定义指令及指令配置项的方法
2017/11/20 Javascript
vue-star评星组件开发实例
2018/03/01 Javascript
node.js的http.createServer过程深入解析
2019/06/06 Javascript
使用Python的Django框架实现事务交易管理的教程
2015/04/20 Python
Django日志模块logging的配置详解
2017/02/14 Python
django+js+ajax实现刷新页面的方法
2017/05/22 Python
Python实现的归并排序算法示例
2017/11/21 Python
django加载本地html的方法
2018/05/27 Python
python实现图片识别汽车功能
2018/11/30 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
2019/05/16 Python
python+webdriver自动化环境搭建步骤详解
2019/06/03 Python
django 配置阿里云OSS存储media文件的例子
2019/08/20 Python
Python3获取cookie常用三种方案
2020/10/05 Python
汉森冲浪板:Hansen Surfboards
2018/05/19 全球购物
联想德国官网:Lenovo Germany
2018/07/04 全球购物
英国性能汽车零件和发动机配件在线:Maxpeedingrods
2019/11/05 全球购物
普通员工辞职信
2014/01/17 职场文书
四年大学自我鉴定
2014/02/17 职场文书
十八届三中全会感言
2014/03/10 职场文书
初中生期末评语大全
2014/04/24 职场文书
护士优质服务演讲稿
2014/08/26 职场文书
工程技术员岗位职责
2015/04/11 职场文书