掌握自动化框架Selenium、DrissionPage的使用,对Playwright框架有一定的了解,能够熟练使用xpath, beautifulsoup,re正则表达式对页面数据进行提取和解析
掌握Scrapy框架的整体架构及其核心组件,对其各个部件在逻辑上所处位置、作用以及在实际信息采集过程中数据的流向有清晰认识,能够使用该框架完成数据采集任务
掌握JS逆向中常见的技术,包括但不限于Hook技术、webpack打包、RPC、WASM,熟悉各种摘要、加密算法;掌握JS补环境,包括普通环境和原型链环境
能够对常见的反爬手段制定反反爬策略,如debugger反调试、JS混淆、Cookie反爬、验证码等;掌握常见的Cookie反爬安全产品的逻辑及其解决办法,如加速乐、瑞数等;能够通过协议处理常见的如易盾、云片等验证码产品
掌握MySQL、Redis、MongoDB等数据库的常见操作 有Flask后端开发框架基础,能够使用Flask开发获取数据的API接口
某大数据平台品牌数据采集
项目简介:本项目旨在对大数据平台的品牌列表页进行大规模自动化采集,获取品牌招商相关的核心信息。该平台为商业地产数据服务商,对反爬有一定防护机制,包括请求频率限制、IP风控等。本项目的核心任务是基于Scrapy框架构建高并发采集爬虫,通过IP代理池与请求重试机制突破反爬限制,至少覆盖5个品牌分类,采集总量超过2000条,提取品牌标题、创建时间、开店方式、合作期限、面积要求等关键字段,最终并存入MongoDB数据库。
技术栈:Scrapy框架、IP代理、MongoDB
实现流程:
1. 品牌标识采集与获取:基于Scrapy框架,首先针对目标网站的搜索或分类接口发起POST请求。通过分
析请求参数(如分类ID、分页信息等),模拟正常查询行为,从响应数据中批量解析并提取每个品牌对应的唯
一内部ID。利用ID动态构造详情页的请求URL,逐个发起POST请求,获取品牌详情的结构化数据。随后,
精准提取标题、创建时间、开店方式、合作期限、面积要求五个核心字段,并对缺失字段进行容错处理。
2. 反爬策略对抗:针对网站对频繁访问的限流防护,在Scrapy的中间件中集成IP代理。为每个请求随机分
配代理IP,同时,配置请求重试中间件,保障采集链路的稳定性,最后通过Scrapy的Item Pipeline,将解析完成的品牌数据连接至MongoDB数据库
项目成果: 基于Scrapy框架成功构建了针对某大数据平台品牌信息的高并发采集系统,通过集成IP代理和定制请求重试中间件,有效绕过了网站的反爬限制,实现了稳定、持续的采集。数据经清洗后存入MongoDB,为后续的品牌招商分析、市场趋势研究提供了高质量的数据基础。
公共服务数据采集(某省建设监管公共服务平台)
项目简介:本项目旨在针对某省建设监管公共服务平台的企业信息,实现自动化采集与去重存储。目标网站采用了前台数据加密传输(涉及SM4国密及AES解密)、反爬验证(文字点选与滑块验证码)以及分页加载机制。本项目的核心任务是突破上述反爬策略,破解其数据传输的加解密逻辑,并对采集到的企业名称进行MD5哈希去重,最终将结构化数据存入MongoDB及Redis数据库,以实现高效、稳定的数据采集与缓存管理。
技术栈:SM4国密、AES解密、文字点选及滑块验证码破解、MD5哈希去重、Redis
实现流程:
1. 反爬机制分析与破解:对目标网站的企业列表页及详情接口进行抓包分析,识别出两类核心反爬手段。一是验证码机制:网站会在访问高频或初次请求时触发“文字点选”或“向右滑动”验证码。通过集成第三方打码平台或基于ddddocr第三方库的轨迹模拟算法,成功实现了验证码的自动化识别与通过。二是数据加密机制:分析前端JS代码,发现企业列表的JSON数据在响应体中经过加密。经过动态调试,确认其同时使用了SM4国密算法(用于关键参数加密)与AES解密(用于响应体解密),成功还原了完整的解密流程,获取到原始明文数据。
2. 数据采集与分页逻辑实现:在破解加密与验证码后,模拟HTTP请求对目标UR进行数据采集。设计分页循环逻辑,逐页请求数据。每获取一页的加密响应后,立即调用还原出的SM4/AES解密函数,将密文转换为JSON格式的企业列表,从中提取企业名称、统一社会信用代码、企业注册地三个核心字段。
3. 数据去重与存储设计:为防止因网站数据更新或重复采集导致的相同企业信息入库,采集过程中对每条记录的“企业名称”字段计算MD5哈希值,将该哈希值作为唯一标识。在写入MongoDB前,先以哈希值为键查询Redis,若已存在则跳过,否则存入Redis并继续写入数据库。将去重后的有效数据存入MongoDB(作为主数据库,支持非结构化企业信息的灵活存储与后续查询);同时将最新采集的一批数据的企业名称MD5值及简要信息缓存至Redis(设置合理过期时间),用于加速下次采集任务时的快速去重判断。
项目成果:成功实现了对某省建设监管公共服务平台企业信息的自动化采集,,并通过MD5哈希去重保证了数据的唯一性。采集后的数据结构化存入MongoDB,Redis作为去重缓存层,构成了一套高效、可靠的采集-去重-存储流程,为后续企业数据分析提供了干净的原始数据集。
瑞数反爬处理与招标信息采集(某大学招标中心)
项目简介:本项目旨在对某大学招标中心网站的货物类、服务类、工程类招标公告进行自动化采集,提取标题与发布日期。该网站部署了瑞数动态安全防护,其核心反爬机制包括:动态Cookie生成、请求参数混淆、以及浏览器环境特征校验。本项目的核心任务是通过协议层面处理瑞数Cookie,结合补环境技术模拟正常浏览器行为,从而绕过防护,稳定获取招标列表页数据,并将解析后的结构化信息存入MySQL数据库。
技术栈:瑞数Cookie加密处理、补环境、MySQL、XPath解析
实现流程:
1. 瑞数反爬机制分析与首次请求处理:识别瑞数特征,通过抓包分析,确认网站使用了瑞数防护。其特征表现为:首次请求返回状态码202或412、响应HTML中包含一段用于生成Cookie的JavaScript代码。
2. 补环境与完整请求链模拟:针对瑞数对浏览器环境(如navigator、window、document对象属性,采用补环境技术。使用PyExecJS、Node.js,补齐瑞数JS代码执行时所依赖的浏览器特有对象和方法,防止因环境缺失导致Cookie计算错误或请求被拦截。构建完整的请求会话(Session),维持Cookie的有效性。
3. 三类招标信息分类采集:网站通过不同路径区分招标类型:工程类、货物类、服务类,分别构造对应类别的列表页请求。页面解析:获取到绕过瑞数后的真实HTML页面后,使用XPath精准提取每条招标公告的标题和发布日期。
项目成果:成功实现了对兰州交通大学招标中心网站(工程类、服务类、货物类)招标公告的自动化采集。完全通过协议层处理瑞数Cookie与补环境技术,单次运行可稳定采集所有可见的招标信息,提取标题和发布日期,并按类别准确存入MySQL数据库为后续的招标信息监控与分析提供了稳定、高效的数据支撑。
本项目旨在对赢商大数据平台的品牌列表页进行大规模自动化采集,获取品牌招商相关的核心信息。该平台为商业地产数据服务商,对反爬有一定防护机制,包括请求频率限制、IP风控等。本项目的核心任务是基于Scrapy框架构建高并发采集爬虫,通过IP代理池与请求重试机制突破反爬限制,至少覆盖5个
本项目旨在对欧冶平台的资源列表页进行自动化采集,获取首页产品的标题、价格、地址等核心信息,覆盖前10页数据。该平台为大宗商品交易服务平台,具有一定的基础反爬机制。本项目的核心任务是构建高效稳定的采集脚本,处理分页逻辑与可能的请求限制,提取结构化字段