分享:微博数据采集工具Weisper与智动博客助手下载评论软件详情对比
优采云 发布时间: 2022-11-22 11:37分享:微博数据采集工具Weisper与智动博客助手下载评论软件详情对比
" />
微博采集
工具Weisper是一款帮助用户采集
微博和粉丝信息的工具。该工具可以模拟人的操作,将网站显示的信息采集
到工具中。采集
的信息包括收录
关键词的微博,还可以采集
所有微博、粉丝信息、微博评论、微博账号的微博转发。从2014年开始,林工坊团队就为中小企业提供企业版微博数据采集工具Weisper。为了让更多用户领略到Weisper的魅力,林工坊团队根据个人用户的特点对Weisper企业版进行了修改,免费向个人用户发布。修改后的 Weisper 具有以下特点: 跨平台运行:它可以在 Windows 和 Linux 上运行;界面友好:用户无需任何计算机知识,点击菜单即可完成工具设置;免安装:解压后即可运行,无需安装数据库等;全部免费:免费使用,免费支持!该工具的主要功能如下:根据用户设置的关键词,是否原创,微博所在位置,日期等条件,搜索收录
该关键词的微博正文,微博名称发微博的用户,微博的采集
和转发,评论,点赞,捕获微博所有评论内容和评论者。根据用户输入的微博账号,抓取该账号粉丝的所有信息(年龄、性别、所在地、关注人数、粉丝数、发微博数、是否验证、成绩信息、*敏*感*词*、*敏*感*词*等);根据用户输入的品牌账号,抓取该账号的所有品牌信息。与其他工具相比,Weisper 的优势在于: 易用性:用户一上网就可以使用该工具,不需要懂HTML语言、数据库、循环等知识。运行稳定:软件经过多次升级优化,经过上千用户的验证。该软件已经能够在无人监督的情况下连续运行超过 72 小时。跳过验证码:软件采用独特的技术,让用户可以不输入验证码,或者说尽量少输入验证码。虚拟IP功能:软件可根据需要提供虚拟IP,使软件可以在不被微博平台锁定的情况下继续采集数据。断点运行:软件因网络、电脑等意外中断后,能保持中断时的状态,待问题解决后从断点处继续运行。双语支持:软件支持中英文双语。
" />
分享文章:【文章转载】- 微信小程序域名收集工具
通过微信小程序接口采集
目标单位域名,学习。
原文链接:奇安信攻防社区-微信小程序域名采集
工具开发
/分享/890
请复制原创
代码。
一个晴天的中午,突然收到上级发来的漏洞清单。估计是外面的高手干的。经过多次检测,发现该域名是群下一个平台小程序的域名。,而且漏洞也很简单,就是一个springboot的接口泄露,关键是这个小程序平时并不起眼,也没有渗透到我们,却突然来了,让我们措手不及,所以我想,通常,挖坑的时候,还是从小程序入手比较好,细节方面比web端容易做的多,所以为了以后快速拿下小程序,域名的采集
就变得很重要了,所以下面探索采集工具的开发。
1.卖淫法
一开始还是想找直接在git或者其他地方采集
域名的工具。找了一会发现雷神中策的一位高手写了域名的收款方法和脚本。可以去网上搜一下微信 可以看到大师的讲法在小程序找神器里讲的还是很不错的。我觉得这么快就解决了我想要的事情就好了。
/attack_forum/2021/11/attach-a1191c2569b2e1c193073bab5de3ff69c0ed755e.jpg
于是在网上下载了高手的脚本进行分析,发现运行不了,下面分析下为什么运行不了。
二、追根究底
有问题的接口是这个接口:/mp/waverifyinfo 根据雷神公测员的分析,这个接口下的request_domain_list应该不为空,但是我实际抓包看到返回值确实是空的,domain我想要的名字不存在。在里面,它让我恶心。
/attack_forum/2021/11/attach-fb170f844bbae6f41ecfc5ffe1161f824f76a246.jpg
3.向上帝祈祷
这个问题我研究了好久还是没研究出来,所以使出我的绝招,找高手,在各个论坛问,终于在某个论坛找到了我想要的答案,因为调用接口发生了。已经改好了,现在如果要获取域名,需要调用这个接口:/wxawap/waverifyinfo
/attack_forum/2021/11/attach-5ec7b1a9f2a1681d138cb3c23d6ab77b8fde6196.png
雷神中测大师写了2段代码,让大家更详细的了解查询APP_ID和通过APP_ID查询小程序域名的思路。作为用户还是希望自己优化一下,于是开始修改代码进行改造,将两段代码合二为一,然后增加几个功能,大致如下:黑名单功能,查询功能,批量导出功能,其中下面将一一介绍。
1.黑名单功能
1. `话不多说先贴代码,其实还是很简单,这里我做了个黑名单列表,研究发现以下2个域名后缀在跑除了某讯和政府(这个大家还是一直屏蔽了好)的网站还是能跑出来,然后将之前跑出的域名放进来过滤一下,大家可以自行判断屏蔽哪些域名,向black_domain_list中添加就行。`
1. `def black_domain_filter(res_domain_list):`
2. `black_domain_list = ['qq.com','gov.cn']`
3. `real_domian_list = []`
4. `for res in res_domain_list:`
5. `flag = 0`
6. `for bl in black_domain_list:`
7. `if bl in res:`
8. `flag = 1`
10. `if flag == 0:`
11. `real_domian_list.append(res)`
13. `return real_domian_list`
2.导出查询功能
1. `相信大家还是希望能手动直接导出文件然后开始跑起来吧。。。这里我导出了2个文件,一个为批量测试用的,一个为查询使用的。`
1. `def write_domain_list(query,all_domain_list,all_domain_list2):`
2. `t = time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime())`
3. `with open(query + '批量用'+ t + '.txt', 'w+', encoding='utf-8') as f:`
4. `for l in set(all_domain_list):`
5. `f.writelines(l+'\n')`
7. `with open(query + '查询用'+ t + '.txt', 'w+', encoding='utf-8') as f:`
8. `f.writelines('如果想查询某个域名属于哪个小程序,请访问地址:https://mp.weixin.qq.com/wxawap/waverifyinfo?action=get&appid=加上域名列表前的APPID即可')`
9. `for l in all_domain_list2:`
10. `str1 = ''`
11. `for i in l:`
12. `str1 =str1+i+','`
13. `f.writelines(str1+'\n')`
3、完整代码如下:
1. `#!/usr/bin/env python`
2. `# -*- encoding: utf-8 -*-`
<p>
3. `# time:2021/11/11`
4. `# author:Soufaker`
6. `import requests`
7. `import json`
8. `import sys`
9. `import time`
11. `# 获取APP_ID列表`
12. `def Get_App_Id_List(query,number,cookie):`
13. `headers={"User-Agent" : "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 NetType/WIFI MicroMessenger/7.0.20.1781(0x6700143B) WindowsWechat(0x63030073)"}`
14. `url = "https://mp.weixin.qq.com/wxa-cgi/innersearch/subsearch"`
15. `params = "query=" + query + "&cookie=" + cookie + '&subsys_type=1&offset_buf= {"page_param":[{"subsys_type":1,"server_offset":0,"server_limit":' + str(number) + ',"index_step":' + str(number) + ',"index_offset":0}],"client_offset":0,"client_limit":' + str(number) + '}'`
16. `response = requests.post(url=url, params=params, headers=headers, timeout=10).text`
17. `Apps_Json = json.loads(response)`
18. `print(Apps_Json)`
19. `try:`
20. `App_Items = Apps_Json['respBody']['items']`
21. `for App_Item in App_Items:`
22. `App_Item_Json = json.loads(json.dumps(App_Item)) # 重新加载嵌套内容中的json数据`
23. `App_Id = App_Item_Json['appid']`
24. `App_Name = App_Item_Json['nickName']`
26. `if query in App_Name:`
27. `App_Id_List.append(App_Id)`
28. `print(App_Name)`
29. `except:`
30. `print('连接异常')`
32. `# 获取小程序域名`
33. `def Get_Domain(X_APP_ID):`
34. `headers={ "User-Agent": "Mozilla/5.0 (Linux; Android 6.0.1; MuMu Build/V417IR; wv)" } #微信两个校验值`
35. `url = "https://mp.weixin.qq.com/wxawap/waverifyinfo?"`
36. `params = "action=get&wx_header=1&appid=" + X_APP_ID`
37. `response = requests.get(url=url, params=params, headers=headers).text`
38. `resp = response.replace(' ', '').replace('\n', '').replace('\t', '').replace("\"", "")`
39. `try:`
40. `if "request_domain:{item:[" in resp:`
41. `Response_domain_list = Get_MiddleStr(resp,"request_domain:{item:[",",]}};