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读写文件操作示例程序
Dec 02 Python
python中精确输出JSON浮点数的方法
Apr 18 Python
Python文件及目录操作实例详解
Jun 04 Python
python使用正则表达式替换匹配成功的组
Nov 17 Python
PyQt5实现下载进度条效果
Apr 19 Python
用Python编写一个高效的端口扫描器的方法
Dec 20 Python
Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】
Dec 26 Python
python使用pipeline批量读写redis的方法
Feb 18 Python
python隐藏类中属性的3种实现方法
Dec 19 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
Jul 14 Python
python 如何上传包到pypi
Dec 24 Python
python将图片转为矢量图的方法步骤
Mar 30 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通过加锁实现并发情况下抢码功能
2016/08/10 PHP
Prototype使用指南之string.js
2007/01/10 Javascript
利用JQuery的load函数动态加载其它页面的内容的实现代码
2010/12/14 Javascript
event对象获取方法总结在google浏览器下测试
2013/11/03 Javascript
JavaScript—window对象使用示例
2013/12/09 Javascript
Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
2016/06/28 Javascript
Three.js学习之正交投影照相机
2016/08/01 Javascript
js原生之焦点图转换加定时器实例
2016/12/12 Javascript
Bootstrap源码解读导航(6)
2016/12/23 Javascript
解析ajaxFileUpload 异步上传文件简单使用
2016/12/30 Javascript
最后说说Vue2 SSR 的 Cookies 问题
2018/05/25 Javascript
javascript自定义右键菜单插件
2019/12/16 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
2019/12/21 Javascript
jquery实现垂直手风琴导航栏
2020/02/18 jQuery
[02:11]2016国际邀请赛中国区预选赛全程回顾
2016/07/01 DOTA
[01:24:16]2018DOTA2亚洲邀请赛 4.6 全明星赛
2018/04/10 DOTA
Python功能键的读取方法
2015/05/28 Python
Windows下Python的Django框架环境部署及应用编写入门
2016/03/10 Python
对比Python中__getattr__和 __getattribute__获取属性的用法
2016/06/21 Python
python实现教务管理系统
2018/03/12 Python
Python实现通过继承覆盖方法示例
2018/07/02 Python
利用Django模版生成树状结构实例代码
2019/05/19 Python
python爬虫项目设置一个中断重连的程序的实现
2019/07/26 Python
基于Python实现船舶的MMSI的获取(推荐)
2019/10/21 Python
使用tensorflow实现矩阵分解方式
2020/02/07 Python
Python使用pyenv实现多环境管理
2021/02/05 Python
欧舒丹澳洲版:L’OCCITANE
2017/07/17 全球购物
韩都衣舍天猫官方旗舰店:天猫女装销售总冠军
2017/10/10 全球购物
体育教学随笔感言
2014/02/24 职场文书
中学生操行评语大全
2014/04/24 职场文书
公司收款委托书范本
2014/09/20 职场文书
小学端午节活动总结
2015/02/11 职场文书
2015年劳动部工作总结
2015/05/23 职场文书
联谊会开场白
2015/06/01 职场文书
房屋质量投诉书
2015/07/02 职场文书
升学宴家长致辞
2015/07/27 职场文书