配套软件版本:V10及更高 数据管家——增强版网络爬虫 老版本对应教程:V9及更低 集搜客网络爬虫 的对应教程是《连续动作:自动搜索关键词采集信息—以京东为例》 如果网页上有搜索框,但是搜索结果页面没有独立网址,想要采集搜索结果,直接做采集任务是采集不到的,要先做连续动作(输入+点击)来实现自动输入关键词并搜索,然后才能采集数据。下面以人民网关键词搜索为例,演示自动搜索采集,操作步骤如下: 提示:连续动作的任务一般是需要做两级任务,第一级任务负责执行动作,比如输入关键词和点击搜索,第二级任务来采集搜索出来的内容。 案例任务: • 第一级采集任务:教程_人民网搜索_动作(点击下载) • 第二级采集任务:教程_人民网搜索_抓取(点击下载) • 样本网址:http://search.people.com.cn/cnpeople/news/index.html • 采集内容:新闻链接,标题、摘要、时间 下面进入详细的步骤说明。 1. 定义第一级任务:设置动作 1.1 打开网页 打开集搜客数据管家,输入人民网搜索网址http://search.people.com.cn/cnpeople/news/index.html,加载网页。点击浏览器左上侧“+”,并进入定义任务状态。 1.2 随便标注一个要采集的内容 虽然第一级任务不做实际抓取工作,但是为了爬虫正常工作,任务里需要有至少一个抓取内容,我们就把网页上的“新闻”这两个字作为抓取内容。 双击“新闻”,按下图输入字段名和表名。(直观标注的详细操作可以参考《采集网页数据》) 1.3 设置动作 这里重点讲解第一个“输入”的动作,第二个动作“点击”略讲。 1.3.1 第一个动作:输入动作 点击工作台的 “4”,进入“设置动作”,点击“新建”按钮建立一个新动作。 动作后执行:目标任务就是第二级任务,本例中第二级任务的名字是:教程_人民网搜索_抓取 动作类型:第一个动作是输入,所以选择输入 动作名称:给动作起个名字,便于以后检查,比如:输入 交互位置:这是操作难点,要把动作位置的xpath找出来,复制拷贝在这里。这样爬虫就知道去哪里进行动作了。怎样找到动作的xpath? 我们现在要做的是输入动作,交互位置就是搜索输入框,在网页上点击它,下面的DOM窗口对应到一个节点。 按下图操作,点击“生成xpath”,因为这个节点有很特殊的id属性,所以选择偏id。 生成xpath后,点击xpath后面的搜索按钮,看看这个xpath对应到几个节点,在本例中是1/1,说明只对应到一个节点,是唯一的,可以用来确定动作的位置。(如果是1/2,那说明对应到两个节点,当前节点是其中之一,但是本例中我们需要做输入动作的位置只有一个,说明这个xpath是不适合的,需要另外选取)。确定了xpath后,复制拷贝到动作设置。 输入词语:输入要搜索的关键词,比如输入:病毒;;种族,表示先采集病毒的新闻,再采集种族的新闻。 延迟:考虑到网页加载需要时间,最好设置一点延迟时间,这个网页的加载比较快,可以设置5s。 第一个动作,输入动作设置完成后,工作台上是这样的: 1.3.2 设置第二个动作:点击动作 点击新建,设置第二个动作:点击动作 怎么找到搜索点击动作的xpath ? 点击动作设置完成后,工作台是这样的: 这样,我们就完成了两个动作的设置,完成了第一级任务。 1.3.3 第一级任务测试,保存 下图不是本例的图,但是按钮的位置是一样的。 点击“保存”按钮保存已完成的第一级任务 现在,只保存第一级任务,不要启动采集,因为我们还没有做第二级任务。 2. 退出第一级任务定义状态 在定义第二级任务之前,首先要退出第一级任务定义状态。 3.定义第二级任务 3.1 加载网页,进入定义任务状态 在网页上输入关键词,并且搜索结果出来后,再次点击“+”进入到定义任务模式。 输入任务名,就是第一级任务的动作设置里填写的动作后执行的任务: 教程_人民网搜索_抓取。 3.2 对着网页做采集任务 在这个网页上每条新闻是一个样例,在每个样例中,要采集的信息有:标题,内容提要,链接,时间。限于篇幅,这里就不讲解了,可以参见教程《采集列表数据》,每条新闻,相当于这个教程里的一个商品。如果还要做翻页,参看教程《翻页设置》。如果还要进一步,采集新闻详细内容,参看教程《深层采集》。 第二级任务完成后,测试,保存。 4.启动采集 连续动作的任务采集,只用启动第一级任务就可以了,爬虫会自动调用第二级任务。 首先,到任务管理页面。 在任务管理页面,选中第一级任务,点击启动,线索数是1(因为本例中第一级任务只有1条线索),为了尽快结束采集,拿到采集结果,限制了翻页,只采集5页。 上图点击确定后,爬虫弹出采集窗口,开始采集数据。可以观察到,在采集窗口,自动加载搜索词和点击搜索,自动加载出搜索结果页面,并在这个页面上采集数据。 采集完成后,按提示点击导出excel数据,然后到第二级任务的数据管理去下载数据。 所以,这个过程是,启动第一级任务,到第二级任务去下载数据。 下图是采集下来的数据截图。搜索的关键词是默认记录在第二级任务结果数据中的actionvalue字段中。 上篇文章:《集搜客网络爬虫的核心名词》 下篇文章:《自动点击京东商品规格采集价格数据》 |
hz4011: 在人民网的这个案例中,如果我想将结果限制在“精确搜索”中(需要点击“精确搜索”的框)该怎么做呢?我尝试设置了一个点击该处的动作,但在运行中每次都会爬两 ...
hz4011: 在人民网的这个案例中,如果我想将结果限制在“精确搜索”中(需要点击“精确搜索”的框)该怎么做呢?我尝试设置了一个点击该处的动作,但在运行中每次都会爬两 ...
shigydsj: 在第一级搜索任务中可以做批量搜索吗?比如我有一批关键词,想依次搜索然后抓取结果,如何实现?