火车头采集器列表页数据采集需五步:一、配置起始URL并启用列表页循环抓取;二、用正则提取非规则分页链接;三、用XPath精确定位列表项字段;四、模拟Ajax POST请求获取动态内容;五、调试验证采集效果。

如果您在使用火车头采集器时需要从目标网站的列表页面中提取结构化数据(如标题、发布时间、摘要等),但无法正确识别或抓取全部条目,则可能是由于列表结构未被准确解析或分页机制未适配。以下是实现列表页数据采集的具体方法:
一、配置起始URL并启用列表页循环抓取
该方法适用于分页规则明确、URL呈规律性变化的网站,系统通过预设页码范围自动构建并访问每一页列表地址,确保覆盖全部目标页面。
1、启动火车头采集器,新建任务,将首个列表页完整URL填入“起始地址”栏。
2、勾选“列表页循环抓取”选项,激活自动翻页功能。
3、在“下一页网址规则”中填写含变量的URL模板,例如:http://example.com/news/list_*.html,其中“*”代表页码占位符。
4、设置页码起止值,如“1 至 50”,确保采集范围覆盖全部公开列表页。
二、使用正则表达式提取非规则分页链接
当目标网站分页链接不按数字递增、或存在跳转逻辑(如“下一页”文字链接、锚点跳转、JS动态生成)时,需借助正则表达式从HTML源码中直接匹配所有有效列表页URL。
1、进入任务设置中的“高级选项”→“链接提取”模块。
2、选择“通过正则表达式提取链接”,输入匹配模式,例如:href=["']([^"']*?/list[^"']*?\.html)["'],用于捕获所有含“list”关键词的HTML锚点链接。
3、点击“测试提取”,确认返回结果中包含全部预期列表页地址。
4、将提取成功的链接批量导入采集队列,作为后续数据抓取的入口源。
三、基于XPath精确定位列表项并提取字段
此步骤聚焦于单页内结构化解析,通过XPath路径精准锁定每个列表条目的容器节点,从而稳定提取标题、链接、时间等字段,避免因HTML微调导致规则失效。
1、在“内容采集”模块中添加新节点,类型选择“列表型”。
2、使用浏览器开发者工具(F12)定位列表区域的父级容器,获取其唯一XPath,例如://div[@id='news-list']/ul/li。
3、为每个待采集字段分别设置子路径:标题对应 ./h3/a/text(),链接对应 ./h3/a/@href,时间对应 ./span[@class='date']/text()。
4、保存节点后执行“测试采集”,验证每条记录的字段是否完整、无错位。
四、处理Ajax加载的列表页(Post方式)
针对采用AJAX异步加载、源码中不可见列表内容的网站,必须模拟真实请求行为,构造合法的POST参数并提交至接口,才能获取原始JSON或HTML响应数据。
1、使用Fiddler或浏览器Network面板捕获列表页滚动或点击“下一页”时发出的XHR请求。
2、识别请求URL、请求头(特别是Referer、User-Agent、Cookie)及请求体(Body)中的关键参数,如:currentPageIndex=23、pageSize=20。
3、在火车头中新建“POST请求”类型的列表页节点,粘贴接口URL,在“POST数据”栏填入参数字符串,格式为:currentPageIndex=*&pageSize=20,并启用页码变量替换。
4、设置响应内容解析方式为“JSON”或“HTML”,再配合XPath或正则提取实际列表数据块。
五、调试与验证采集效果
采集规则部署后必须进行多轮实测,以发现字段截断、编码异常、反爬拦截等问题,确保输出数据符合预期格式和完整性要求。
1、点击“测试采集”,观察日志中是否出现HTTP 403、502或超时错误。
2、检查返回内容是否含目标字段,若为乱码,需在“高级选项”中将“网页编码”手动设为:UTF-8 或 GBK。
3、对测试结果中缺失或错位的字段,返回XPath节点编辑界面,用“实时预览”功能逐层校验路径有效性。
4、启用“采集日志”并导出失败URL,针对性调整请求头、延时或代理设置。










