爬虫(crawler)和反爬虫(anti-crawler)技术之间的对抗是一场持续的猫鼠游戏。爬虫是自动化的网络机器人,它们浏览互联网上的网站,以收集信息和数据。而反爬虫技术则是网站管理员用来阻止或限制爬虫收集数据的技术和策略。
爬虫技术的目的是高效地收集网络上的信息。以下是一些常见的爬虫技术:
反爬虫技术旨在识别和阻止不受欢迎的爬虫。以下是一些常用的反爬虫策略:
爬虫和反爬虫之间的对抗是一个动态平衡,随着技术的发展,双方都在不断进化。网站管理员希望保护其内容和用户数据不被滥用,而数据科学家和市场分析师等职业可能需要收集网站数据以进行合法的分析和研究。因此,这场对抗往往也涉及到法律、伦理和隐私的问题。
本文将以分析获取某企业网站的企业名称为例,分析其反爬策略,编写自动脚本,完成自动化。
打开页面,发现是返回数据加密,字段为 encrypt_data:
单步到此处
核心代码为如下内容
function s(e) {
return JSON.parse(o("5e5062e82f15fe4ca9d24bc5", a.a.decode(e), 0, 0, "012345677890123", 1))
}
查找 o()
函数信息
将 o()
函数缩小,然后整行复制
解决扣代码问题 a.a.decode()
其实就是 decode:
双击进去,找到 decode,同时发现,存在多个变量:
最终的解密的 js 代码已上传星球,有需要的可以直接前往获取,测试效果如图:
使用浏览器的调试功能,将请求的数据包复制为 curl 命令:
接下来将复制的 curl 命令导入到 postman 中:
最后选择要转换到脚本语言类型,最后复制代码即可:
最终测试代码已上传星球,有需求的直接前往获取,效果如图: