上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.3 网络爬虫流程
普通网络爬虫的流程大致如图1.4所示,一般包含URL队列模块、页面内容获取模块、页面解析模块、数据存储模块和URL过滤模块。具体流程可描述如下。
图1.4 网络爬虫的流程
步骤1,选取部分种子URL(或初始URL),将其放入待采集的队列中。如在Java中,可以放入List、LinkedList及Queue中。
步骤2,判断URL队列是否为空,如果为空则结束程序的执行,否则执行步骤3。
步骤3,从待采集的URL队列中取出一个URL,获取URL对应的网页内容。在此步骤需要使用HTTP响应状态码(如200和403等)判断是否成功获得了数据,如响应成功则执行解析操作;如响应不成功,则将其重新放入待采集URL队列(注意这里需要过滤掉无效URL)。
步骤4,针对响应成功后获取的数据,执行页面解析操作。此步骤根据用户需求获取网页内容中的部分字段,如汽车论坛帖子的id、标题和发表时间等。
步骤5,对步骤4解析的数据执行数据存储操作。