采集复杂页面的数据或者涉及多个页面的数据,首先要规划采集流程图,否则做规则的时候可能会无从下手。为了规划采集流程图,我们要清楚知道需要在浏览器做哪些动作才能得到目标信息。 下面以几个网页为例教大家规划采集流程图。 注意下面出现的流程图,左边是人在浏览器做的动作流程图,右边是仿照人的动作设计的采集流程图。 1.淘宝网 以淘宝网为例,我们从列表页开始,最终要采集每个商品的评论信息。 那我们在浏览器中做的是:从列表页点击商品的链接进入详情页(详情页分为淘宝详情页和天猫详情页两种),同时列表页还要点击下一页采集每页数据;进入详情页后需要点一下评论才能看到评论信息,再点击下一页翻看后面评论信息。 2.中国知网 以中国知网为例,从高级搜索页面开始,要得到关于“数据分析”的论文的作者、摘要等信息。 那我们在浏览器做的操作就是:在高级搜索页面,搜索“数据分析”得到相关论文,点击论文链接进入到详细信息页,同时要在搜索结果列表点击下一页查看所有论文。 人在浏览器做的动作如左下的流程图,而对于软件而言,由于搜索后网址不变且需要三个动作(点击搜索框->输入“数据分析”->提交)才完成搜索,所以要用连续动作来模拟这些鼠标操作,点击论文链接进入到详细信息页要做层级抓取(即定义下级线索),另外,把搜索出来的每一页论文都采集下来,就需要定义翻页线索。于是我们可以得到完整的采集流程图如右下图所示。 3.新浪微博 以新浪微博为例,我们要在微博搜索的找人页面上搜索标签包含“电商”的博主,当鼠标放置在博主头像上,会悬浮弹出博主详细信息框,我们希望把那些信息也采集下来,这就需要对每个博主头像都做一次悬浮动作,另外,我们还希望把每一页的博主信息都采集下来,这就需要翻页动作。 人的动作流程图和采集流程图如下所示。 注意:对于一个同时存在连续动作和翻页的规则,会先执行连续动作再执行翻页。 |