博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
域名过滤
阅读量:4493 次
发布时间:2019-06-08

本文共 1982 字,大约阅读时间需要 6 分钟。

# 域名过滤 import requests import re import multiprocessing class Get_url(object):     def __init__(self):         self.headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3724.8 Safari/537.36", } # 读取本地域名列表:包括以m.开头的和以www.开头的 def url_list(self, q): url_list = list() with open('../domain_one/jg.txt', 'r', encoding='utf-8') as f: data = f.readlines() for da in data: q.put(data) """ 1.读取本地的域名 2.逐个进行访问 3.对访问成功的域名进行过滤 生成以m.开头或者www.开头域名 4.保存到本地文件 """ def get_url_list(self, q): while True: url_list = q.get() for url in url_list: ur = "https://" + url try: response = requests.get(url=ur, headers=self.headers, verify=False, timeout=2) response.raise_for_status() if response.status_code == 200: print(ur) # 域名过滤 ur = re.sub('https://', '', ur) # for u in ur: with open('../domain_two/domain.txt', 'a+', encoding='utf-8') as f: f.write(ur) except requests.ConnectTimeout: print('超时!') except requests.HTTPError: print('http状态码非200') except Exception as e: print('未进行容错处理的情况:', e) if q.empty(): break def main(self): q = multiprocessing.Queue() p1 = multiprocessing.Process(target=self.url_list, args=(q,)) p2 = multiprocessing.Process(target=self.get_url_list, args=(q,)) p1.start() p2.start() # 方法的调用 if __name__ == '__main__': g = Get_url() for i in range(10): g.main()

转载于:https://www.cnblogs.com/victorstudy/p/11425878.html

你可能感兴趣的文章
Android自动化压力测试之Monkey Test 异常解读(五)
查看>>
Compressing Convolutional Neural Networks in the Frequency Domain 论文笔记
查看>>
设计模式:单例和多例
查看>>
Myslq 之修改数据库
查看>>
maven工程转为web工程时没有add web project capabilities选项的解决办法
查看>>
[BZOJ1192][HNOI2006]鬼谷子的钱袋
查看>>
Linux系统基础优化
查看>>
小程序开发快速入门教程(附源码)
查看>>
基于cropper.js的图片上传和裁剪
查看>>
车联网SaaS平台多租户平台技术选型参考
查看>>
我是如何快速积累工作经验
查看>>
用信号量进程同步与互斥
查看>>
随笔1
查看>>
Firebug入门指南
查看>>
POJ Minimum Cut
查看>>
仿射变换
查看>>
【ASP.NET】复制单个文件同时到多个目录
查看>>
上机实验2.。实验报告
查看>>
Jquery Validate 相关参数及常用的自定义验证规则
查看>>
java8 base64使用
查看>>