爬虫专题Java 爬虫

网络爬虫基础

2018-11-17  本文已影响4人  阿土伯已经不是我

什么是爬虫

据统计,现在互联网上的流量,一半以上都来自各种网络爬虫。所谓爬虫就是一些自动运行的程序,他们模拟人的行为访问互联网上的资源。例如 12306 的抢票软件,就是一个典型的爬虫程序。他通过 12306 的接口来自动进行余票的查询、下单、支付等操作。更典型和古典的爬虫是 google 、百度这样的搜索引擎,他们的爬虫自动的访问整个网络的各个网页,将内容下载下来并进行分析保存,方便用户进行搜索并自动定位到对应的网页上。抢票软件是一种专用的爬虫,针对的是一项特定的任务。而搜索引擎是一种通用的爬虫,他的目标主要是下载数据进行检索。我们也可以用爬虫做一些其他的工作。比如比较常见的

爬虫的过程

简单的来说,爬虫就是不断寻找要访问的 url 地址,然后通过 http 协议去读取 url 地址对应的网络内容并进行保存、分析和进行其他的后续处理的过程。一般的情况,这个 url 地址对应的是 html 页面或者一些 json 文档。当然也会有一些二进制的资源,例如多媒体的图片、视频、音频等,或者一些 pdf 文档等。一个通用的爬虫大概分为两个部分,一个是要能够不断的找到新的 url 地址,另一个是将这些 url 地址对应的资源下载下来。在 html 网络中,一般是找一些种子 url 地址,下载这些 url 地址对应的页面,然后分析页面里面的 a 标签来得到新的 url 地址。这样通过 www 网络中 html 页面互相链接的特性,理论上就可以将整个互联网的内容都抓取下来。当然实际情况中要考虑抓取的效率已经出重等很多实际的问题。

爬虫要处理的问题

  1. 如何下载 url 内容
  2. 如何处理下载的内容
  3. 如何找打新的 url 地址
  4. 如何调度下载的过程
  5. 如何突破网站下载的限制

我主要的开发语言是 Java ,所以后续我会用 Java 来演示一下如何处理这些问题。

上一篇下一篇

猜你喜欢

热点阅读