欢迎订阅SPSS训练营微号
文彤老师的《小白零编程网络爬虫实战》在线课程,我目前正在学习第二章节新闻网站新闻列表抓取。因为文彤老师把它完全作为一个完整的商用项目来做,所以课程里面讲授的知识点非常丰富饱满,有入门的基础,也包括实战经验。
对第二章节的学习,虽然文彤老师说个把小时、半天可以搞定,但像我这样无编程基础,无Xpath经验的小白,我建议拆分为多个阶段来逐步学习和掌握。
不要一口吃一个胖子,应该细嚼慢咽,亲自动手练习并从中体会关键知识点。
我拆分出的第一阶段学习内容:模拟网页翻页点击,多行提取并保存数据到TXT文档。
之所以如此拆分,是因为这几项操作内容容易入门,能快速的让学习者获得成就感。如果要全流程的完成第二章节的学习,我想这个过程还是有点漫长,而且期间会不断碰壁,挫败学习信心。
用我博客文章列表做案例演示一下。
1
抓取需求分析
一次性抓取博客所有文章列表,抓取内容包括每一篇文章标题和网址链接,将数据直接保存为txt文档。因为我的博客采取的是博文列表页模式,所以直接用博客主页(http://www.datasoldier.net)作为数据来源页,多行提取文章标题和网址,在主页的最下方模拟点击完成7次翻页,最后将抓取到的数据保存到txt文档。
2
创建抓取脚本
创建一个新的脚本,博客首页及其他翻页都是每页15篇文章,共有8页,所以需要添加的步骤节点包括打开网页、多行提取、点击翻页、循环停止还有保存为文本。
多行提取节点,新增两个变量,分别是文章标题和文章网址链接。此处小白们要特别多听文彤老师的经验讲解,平时还要多搜集一些Xpath的写法,自行补充知识点。Xpath是必须拿下的,哪怕是你从来都没有接触过它,网页数据抓取用Xpath作为元素定位器,这是基础工作。
不是说课程是无编程的吗?为啥还要写Xpath?
我认为这不算是在写代码,我们只是使用Xphth路径表达式定位到网页元素。就好比你用excel的函数功能一样,编写一串函数实现某种功能,你能说编写函数是在写代码吗?Xpath也是一样,而且可视化网页数据抓取也并不需要过于复杂的Xpath规则。
本例的难点是定位翻页元素,用的也是Xpath路径规则,借助查看网页代码,一次写不对,可以多次尝试。
关于循环,因为博客是今年6月才开始重新上线的,所以目前只有8页,所以翻页不需要停止条件了,我们直接指定翻7页搞定。
3
来看抓取结果
前面已经命令将抓取到的数据保存到指定路径下的txt文档,那一起来看结果。
每一行保存两个变量,依次是标题和网址,共抓取到100多篇博客文章列表信息,这也算是博客文章的目录了,作为火车浏览器抓取数据的第一个成果,我把它发到了微博,方便读者根据兴趣点击相应网址前往博客查看详细文章内容。
4
小结与下期预告
本期笔记完成。我的学习进度会在第二章节停留一段时间,目的是要完全掌握传统网站数据的抓取,下一期我分享列表页跳转到详情页抓取数据的心得体会。
如果你也有爬虫学习的需求,我推荐加入这门课程。
加入课程,请扫一扫上图的二维码。或点击文末左下角【阅读原文】四个字。
领取专属 10元无门槛券
私享最新 技术干货