之前给大家介绍了3种常见的网站反爬解决方法,接下来还有3种反爬机制的破解方法等着大家来学习,让我们马上进入到学习环节。
4、自定义字体库反爬
目前有些网站通过自定义字体库的方式实现反爬,主要表现在页面数据显示正常,但是页面获取到的实际数据是别的字符或者是一个编码。这种反爬需要解析网站自己的字体库,对加密字符使用字体库对应字符替换。需要制作字体和基本字体间映射关系。
5、账号反爬
常见的就是每次访问都需要先登录才可以正常浏览数据,这种网站数据采集就需要准备大量账号,同时需要注意每个账号最大请求次数,有的网站也会在同一个账号短时间内发起大量请求时采取封号策略,解决方式就是大量账号切换采集;每个账号发送一定量请求之后及时切换另一个账号采集。
解决账号反爬的第一步就是模拟登陆,模拟登陆常见方式有两种:一种是用Seleniun、PhantomJS模拟登陆,这种方式实现较简单,不需要分析JS,由于很多需要登陆的网站都有对应JS参数混淆机制。另一种比较直接的方式就是逆向JS,模拟提交数据完成模拟登陆,保存Cookie数据供爬虫爬取数据用。
Cookie代理池模块一般架构:
获取模块:负责生成每个账号对应的Cookie
存储模块:存储账号及账号对应的Cookie信息,同时还需要实现一些方便存取的操作
检测模块:定时检查Cookie,不同站点检测链接不同,检测模块拿对应Cookie去请求链接,返回状态有效则Cookie有效,否则Cookie失效并移除。
接口模块:对外提供API调用,随机返回Cookie保证每个Cookie都能被取到,Cookie越多被取到的概率越小,从而减少被封号的风险。
6、JS混淆动态参数反爬
JS参数加密也是目前很多网站常会采用的一种反爬机制。最简单的方式是通过Seleniun、PhantomJS直接抓取,优点是不需要分析JS,缺点是采集效率较低。
另一种方案是直接逆向分析JS,改写加密JS或者直接用JS执行引擎(PyV8、pyexecjs、PhantomJs)执行JS得到加密参数后直接提交参数。
7、总结
目前很多网

本文介绍了如何应对自定义字体库和账号反爬两种反爬机制。针对自定义字体库,需要解析字体库并建立字符映射;对于账号反爬,可以通过模拟登陆和Cookie代理池策略,确保账号安全切换,降低封号风险。同时强调了爬虫应合理控制速率,尊重目标网站的正常运行。
最低0.47元/天 解锁文章
1789

被折叠的 条评论
为什么被折叠?



