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实现对excel文件列表值进行统计的方法
Jul 25 Python
pandas 使用apply同时处理两列数据的方法
Apr 20 Python
python 通过字符串调用对象属性或方法的实例讲解
Apr 21 Python
Python常用字符串替换函数strip、replace及sub用法示例
May 21 Python
基于python生成器封装的协程类
Mar 20 Python
Python实现的企业粉丝抽奖功能示例
Jul 26 Python
使用python实现男神女神颜值打分系统(推荐)
Oct 31 Python
Python实现中值滤波去噪方式
Dec 18 Python
python能否java成为主流语言吗
Jun 22 Python
python字典的值可以修改吗
Jun 29 Python
Python实现Appium端口检测与释放的实现
Dec 31 Python
python使用BeautifulSoup 解析HTML
Apr 24 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音乐采集(部分代码)
2007/02/14 PHP
几款免费开源的不用数据库的php的cms
2010/12/19 PHP
深入解析Session是否必须依赖Cookie
2013/08/02 PHP
PHP实现无限极分类图文教程
2014/11/25 PHP
PHP Class SoapClient not found解决方法
2018/01/20 PHP
菜鸟javascript基础资料整理2
2010/12/06 Javascript
jQuery EasyUI API 中文文档 - Parser 解析器
2011/09/29 Javascript
js实现类bootstrap模态框动画
2017/02/07 Javascript
jQuery快速高效制作网页交互特效
2017/02/24 Javascript
node.js实现回调的方法示例
2017/03/01 Javascript
使用react实现手机号的数据同步显示功能的示例代码
2018/04/03 Javascript
快速对接payjq的个人微信支付接口过程解析
2019/08/15 Javascript
Javascript操作select控件代码实例
2020/02/14 Javascript
vue实现简单全选和反选功能
2020/09/15 Javascript
[01:02:48]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 LGD vs OG
2018/04/02 DOTA
python采集百度百科的方法
2015/06/05 Python
python脚本实现xls(xlsx)转成csv
2016/04/10 Python
Python多维/嵌套字典数据无限遍历的实现
2016/11/04 Python
python内置函数:lambda、map、filter简单介绍
2017/11/16 Python
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
Python判断对象是否相等及eq函数的讲解
2019/02/25 Python
Python图像处理之图片文字识别功能(OCR)
2019/07/30 Python
利用Python检测URL状态
2019/07/31 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
使用HTML5原生对话框元素并轻松创建模态框组件
2019/03/06 HTML / CSS
.NET是怎么支持多种语言的
2015/02/24 面试题
应届护士求职信范文
2014/01/26 职场文书
校庆口号
2014/06/20 职场文书
超市周年庆活动方案
2014/08/16 职场文书
销售代理协议书
2014/09/30 职场文书
大学辅导员述职报告
2015/01/10 职场文书
办公室禁烟通知
2015/04/23 职场文书
2015年端午节活动方案
2015/05/05 职场文书
500字作文之关于爸爸
2019/11/14 职场文书
详解在OpenCV中如何使用图像像素
2022/03/03 Python
Netflix《海贼王》真人版剧集多张片场照曝光
2022/04/04 日漫