爬虫学习笔记3:我的第一次爬虫实践,原来可以如此轻松

欢迎订阅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

小结与下期预告

本期笔记完成。我的学习进度会在第二章节停留一段时间,目的是要完全掌握传统网站数据的抓取,下一期我分享列表页跳转到详情页抓取数据的心得体会。

如果你也有爬虫学习的需求,我推荐加入这门课程。

加入课程,请扫一扫上图的二维码。或点击文末左下角【阅读原文】四个字。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181210A1HXTZ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券