如今有不少朋友进行网页数据获取的项目,网抓方面的程序设计也比较受关注,可是不少人对网抓的思路不太清晰,以致于不能很快进入状态。
我想经过这个帖子,把我本身的经历和感觉用最少的话语分享给你们。
(一)网抓的目的和意义
一句话归纳:网抓就是从互联网上把本身须要的东西获取到,而后本身再利用这些东西。
(二)流程
网抓的基本路线为:正则表达式
-
- 分析目标网站的url构造特色
-
- 分析目标网站的网页内容构成
-
- 尝试用程序语言获取源代码
-
- 从源代码中找到目标数据
-
- 保存数据
以上各个步骤,用到的知识,看下面的图片:
上面这个流程图,就是网抓的重点和难点了,下面简单介绍一下各组成部分。(三)程序语言VBA和VB6没什么两样,只不过多了些Office的对象模型,也就是说VBA能搞的东西,VB6基本都能搞。引用XMLHTTP这个外部对象,能够从互联网获取到东西,或者能够向互联网提交数据。此外,Python在网抓方面简直太方便了,一大堆现成的库等你用。尤为是Selenium技术,能够模拟真实的浏览器,实现网页操做自动化。(四)网页解析众所周知,任何网页的源代码都是几百万行的HTML标签语言。从这里面找到你想要的数据,有不少技术能够用,若是是VBA/VB6,可使用正则表达式或者把网页源代码赋给一个HTMLDocument对象,均可以方便地拿到目标数据。若是是Python,也能够用正则表达式,还能够用BeautifulSoup(bs4)代替HTMLDocument。(五)数据存取编程过程当中,必定涉及数据与文件的读写操做,通常可使用文本文件、csv文件、excel、数据库等做为存储介质。经过以上的经验,你是否知道下一步该学点什么了呢?