现在有很多朋友进行网页数据获取的项目,网抓方面的程序设计也比较受关注,但是很多人对网抓的思路不太清晰,以至于不能很快进入状态。
我想通过这个帖子,把我自己的经历和感受用最少的话语分享给大家。
(一)网抓的目的和意义
一句话概括:网抓就是从互联网上把自己需要的东西获取到,然后自己再利用这些东西
(二)流程
网抓的基本路线为:

    1. 分析目标网站的url构造特点
    1. 分析目标网站的网页内容构成
    1. 尝试用程序语言获取源代码
    1. 从源代码中找到目标数据
    1. 保存数据
      以上各个步骤,用到的知识,看下面的图片:
      初级网抓路线图
      上面这个流程图,就是网抓的重点和难点了,下面简单介绍一下各组成部分。
      (三)程序语言
      VBA和VB6没什么两样,只不过多了些Office的对象模型,也就是说VBA能搞的东西,VB6基本都能搞。
      引用XMLHTTP这个外部对象,可以从互联网获取到东西,或者可以向互联网提交数据。
      此外,Python在网抓方面简直太方便了,一大堆现成的库等你用。
      尤其是Selenium技术,可以模拟真实的浏览器,实现网页操作自动化。
      (四)网页解析
      众所周知,任何网页的源代码都是几百万行的HTML标签语言。
      从这里面找到你想要的数据,有很多技术可以用,如果是VBA/VB6,可以使用正则表达式或者把网页源代码赋给一个HTMLDocument对象,都可以方便地拿到目标数据。
      如果是Python,也可以用正则表达式,还可以用BeautifulSoup(bs4)代替HTMLDocument。
      (五)数据存取
      编程过程中,一定涉及数据与文件的读写操作,一般可以使用文本文件、csv文件、excel、数据库等作为存储介质。
      通过以上的经验,你是否知道下一步该学点什么了呢?