为什么要做网页抓取?

python编程 · 2020-10-08
      如果上网的唯一方式就是用浏览器,那么你其实错过了很多种可能。虽然浏览器可以很方便的执行JavaScript、显示图片、并且可以以更适合人类阅读的形式展示数据,但是网页抓虫收集和处理大量数据的能力更为卓越。不像狭窄的显示器窗口一次只能让你看一个网页,网络抓虫可以让你一次查看几千甚至几百万个网页。TYrIT米工网
                                TYrIT米工网
      另外网络抓虫可以完成传统搜索引擎不能做的事情。用Google搜索“飞往波士顿最便宜的航班”,看到的是大量广告和主流航班搜索网站。Google只知道这些网站的网页会显示什么内容,并不知道在航班搜索应用中输入的各种查询的准确结果。但是,设计较好的网络抓虫可以通过抓取大量的网站数据,绘制出飞往波士顿的航班价格随时间变化的图表,告诉你买机票的最佳时间。TYrIT米工网
      你可能会问:“数据不是可以通过API获取吗?”确实,如果你能找到一个解决问题的API,那会非常给力,它可以非常方便的从一个计算机程序向另一个计算机程序提供格式完好的数据。对于很多类型的数据都可以找到一个API,比如推文或者维基百科页面。通常,如果有API可用,用API来获取数据确实比写一个网络抓虫程序更加方便。但是,很多时候你需要的API并不存在或者不适用于你的需求,这是因为:TYrIT米工网
1、你要收集的数据来自不同的网站,没有一个综合多个网站数据的API;TYrIT米工网
2、你想要的数据非常小众或不常见,网站不会为你单独创建一个API;TYrIT米工网
3、网站没有基础设施或技术能力去创建API;TYrIT米工网
4、数据很宝贵/被保护起来,不希望广泛传播。TYrIT米工网
      即使API已经存在,可能还会有请求内容和次数的限制,API能够提供的数据类型或者数据格式可能也无法满足你的需求。这时网页抓取就派上用场了。你在浏览器上看到的内容,大部分都可以通过编写Python程序来获取。如果你可以通过程序获取数据,那么就可以把数据存储到数据库里。如果你可以把数据存储到数据库里,自然也就可以将这些数据可视化。TYrIT米工网
      显然,大量的应用场景都会需要这种几乎可以毫无阻碍地获取数据的手段:市场预测、机器语言翻译,甚至医疗诊断领域,通过对新闻网站、文章以及健康论坛中的数据进行抓取和分析,也可以获得很多好处。TYrIT米工网
      甚至在艺术领域,网页抓取也为艺术创作开辟了新方向。由Jonathan Harris和Sep Kamvar在2006看发起的“我们感觉挺好项目”,从大量英文博客抓取以“I feel”和“I am feeling”开头的短语,最终做成了一个很受大众欢迎的数据可视图,描述了这个世界每天、每分钟的感觉。TYrIT米工网
      无论你处于妋领域,网页抓取都可以让你的工作更高效,帮你提升生产力,甚至开创一个全新领域。