【从零开始学爬虫】采集全国各行业经销商网点数据
l 采集网站
【场景描述】采集全国各行业经销商网点数据,以建材行业为例。
【源网站介绍】买购网 MAIGOO.COM 建材家居频道,专门提供地面材料、墙顶饰材、洁具五金、门窗楼梯、水电电工、外墙材料、照明灯饰、家纺布艺、家具定制等行业,最新品牌、知识文章、网购产品、图片等相关信息,致力于为客户提供简单便捷的信息查询体验。
【使用工具】前嗅 ForeSpider 数据采集系统,免费下载:
http://www.forenose.com/view/commodity/forespider.html
【入口网址】
https://www.maigoo.com/shop/search/?catid=7&shoptypeid=6
【采集内容】
采集字段:经销商名称、地址、电话、代理品牌、简介。
【采集效果】如下图所示:
l 思路分析
配置思路概览:
l 配置步骤
1.新建采集任务
选择【采集配置】,点击任务列表右上方【+】号可新建采集任务,将采集入口地址填写在【采集地址】框中,【任务名称】自定义即可,点击下一步。
2.获取翻页链接
在页面上观察网页结构,发现该页面翻页需要点击加载更多往下翻页,点击 F12,打开开发者工具,继续翻页,发现开发者工具中出现新的请求,找到翻页链接的请求,并复制到出来。
继续翻页,发现开发者工具中出现新的请求,找到翻页链接的请求,再次复制到出来。一下为复制出的两个翻页:
观察发现,翻页链接中有个 page 参数是变化的,且为递增变化,其他都没有变化。来到 ForeSpider,编写脚本如下所示:
采集预览观察生成的链接,是否与网页中复制出来的翻页链接一致,如果一致则继续配置下一步。
3.获取经销商列表链接
①新建模板 02,在其下新建一个链接抽取模板,具体操作如下所示:
②将模板 01 中的链接抽取,关联到模板 02 中去,如下图所示:
③采集预览,如下图所示,观察各省份链接规律,发现链接规律为:https://www.maigoo.com/shop/一串数字.html。
④地址过滤包含:https://www.maigoo.com/shop/\d.html 的链接,其中\d 表示一串数字串,即可把所需要的经销商链接过滤出来。
4.抽取经销商数据
①新建模板 03,在其下新建一个数据抽取模板,具体操作如下所示:
②数据建表,按照下图所示建数据表。(注意字段属性等应严格按照下图进行设置)
③将新建好的数据表,关联到模板中去,如下图所示:
④填写示例地址
采集预览,复制任意一条省份的链接。
⑤将链接粘贴到本模板示例地址中,并双击内置浏览器空白部分,加载本链接。
⑥关联模板
将模板省份链接抽取模板关联模板 03,如下图所示:
⑧数据取值
使用定位取值和数据清洗的方法,com_字段如下所示:
Addr 字段同理,字段如下所示:
Tel 字段需要点击查看联系电话,才可以看到,在浏览器中,鼠标右键打开”查看网页源代码”,在源码中找到了电话,如下所示:
Tel 字段,用脚本从源代码中获取数据,如下所示:
Brand 字段如下所示:
Content 字段,如下图所示:
⑨采集预览
采集预览如下图所示,说明配置成功,可以开始采集。如果有哪个字段或者数据没有出来,再次检查之前配置,正确配置模板。
l 采集步骤
模板配置完成,采集预览没有问题后,可以进行数据采集。
①建立数据表单
选择【数据建表】,点击【表单列表】中该模板的表单,在【关联数据表】中选择【创建】,表名称自定义,这里命名为【jingxiaoshang】(注意命名不能用数字和特殊符号),点击【确定】。创建完成,勾选数据表,并点击右上角保存按钮。
②开始采集
选择【数据采集】,勾选任务名称,点击【开始采集】,则正式开始采集。
③导出数据
采集结束后,可以在【数据浏览】中,选择数据表查看采集数据,并可以导出数据。
④导出的文件打开如下图所示:
本教程仅供教学使用,严禁用于商业用途!
评论