全媒体采集技术
传统意义的信息采集通常是采集目标网站的网页源码,然后对网页源码进行结构化分析,从而提取需要的文本信息;而全媒体采集技术涉及到需要采集的媒体类型不限于文本,还包括图片、视频、音频等多种媒体类型;因此,我们通过对多个网站的结构与规则进行分析,制定覆盖所有要爬取的目标网站与平台的视频、音频、图片的提取规则,从而有效的从复杂的网页结构中识别并提取多种媒体类型内容的地址,并依据网站与媒体类型指定对应的采集规则,从而实现全媒体信息的有效采集。
高效并发采集技术
采集技术的本质是请求网页,返回结果,主要的操作是网络的IO操作,由于网络IO比CPU的速度慢非常多,因此,为了充分利用CPU多核多线程等硬件资源,同时为了保证采集的规模和时效性,我们开发了分布式与多线程结合的采集策略,从而可以实现多个网站并发高效采集的能力;
智能采集技术
随着互联网技术的发展,反爬技术也出现在各大网站与平台,即同一个IP频繁的对某个网站访问,很容易触发该网站的反爬机制,返回错误的网页源码;
因此,对于实时采集需要突破的采集限制问题,我们研发了基于匿名代理的类人智能爬取技术,通过模拟多IP、多用户、多客户端、多浏览器、不定时随机采集等策略,从而突破反爬限制,实现真正的高效并发采集海量网络信息。另外,为保证采集的实时性和减少数据的冗余度,本技术在爬取时还评价待抓取的内容与主题的相关度,根据相关度进行排序,优先采集其中相关度较高的URL,显著提升信息抓取效率,同时,通过采取正则表达式过滤的方式,淘汰网络爬虫爬行过程中不符合要求的URL,防止系统偏离目标站点并收集多余数据,对于已经收集过的数据,我们开发了全局去重策略,避免数据重复与资源浪费;
动态页面采集技术
传统的网页一般采用静态页面的形式,即只需要通过访问链接,即可拿到网页源码,从而进行进一步的数据采集与信息抽取;随着网络技术的发展,动态网页技术已经逐渐成为主流,动态网页是指在访问页面时,通过javascript实时渲染技术,将页面的信息呈现在网页上;针对这类网站,我们设计了动态数据接口的发现与拼接技术,分析页面的请求,找到有效的信息接口,并通过对接口参数的分析与拼接,生成有效的动态数据生成接口,从而获取更多的动态数据;