博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
判断该url下面是否包含指定的文件
阅读量:4494 次
发布时间:2019-06-08

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

'''     1.读取本地url列表     2.逐个访问url     3.判断该url下面是否包含指定的文件     4.如果包含,将该url写入本地,如果不包含,则去除该url ''' import requests import multiprocessing class Check_file(object):     def __init__(self):         self.headers = {
'User-Agent': "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36", } # 读取本地url列表并返回 def read_local_file(self, q): with open('../url/url.txt', 'r', encoding='utf-8') as f: url_data = f.readlines() for url in url_data: q.put(url) print('数据读取完毕') # 逐个访问url,并判断数据是否存在 def request_url(self, q): suffixs = ['index.php'] while True: url_data = q.get() for url in url_data: if url.startswith('https://'): url_one = url elif not url.startswith('http://'): url_one = 'http://' + url.strip() + '/' for suffix in suffixs: re_url = url_one.strip() + suffix try: re = requests.get(url=re_url, headers=self.headers, timeout=1) if re.status_code == 200 and 'define' in re.content.decode(): print('[*]' + '\t' + re_url) with open('../file/file.txt', 'a', encoding='utf-8') as f: f.write(re_url + '\n') except Exception as e: print(e) if q.empty(): break # 方法集合 def main(self): q = multiprocessing.Queue() p1 = multiprocessing.Process(target=self.read_local_file, args=(q,)) p2 = multiprocessing.Process(target=self.request_url, args=(q,)) p1.start() p2.start() if __name__ == '__main__': c = Check_file() for i in range(10): c.main()

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

你可能感兴趣的文章
关于X系统
查看>>
OC 观察者模式(通知中心,KVO)
查看>>
【BZOJ2134】单选错位 概率DP
查看>>
git 冲突解决办法
查看>>
lintcode 二叉树后序遍历
查看>>
vs c++ 转到声明失败
查看>>
Android实战技巧:如何在ScrollView中嵌套ListView
查看>>
Uva 1626 - Brakets Sequence(DP)
查看>>
makefile
查看>>
HTTP 错误 500.19 - Internal Server Error
查看>>
3.进制的转换
查看>>
python 装饰器
查看>>
从零开始编写自己的C#框架(26)——小结
查看>>
电子商务之性能测试
查看>>
MyBatis有哪些配置
查看>>
mongodb
查看>>
C# 依赖注入
查看>>
dede list 列表按文章权重排序
查看>>
前端实现app引导页面动画效果
查看>>
OpenGL的矩阵
查看>>