网络爬虫的定义

         网络爬虫(Web Spider。又被称为网页蜘蛛。网络机器人,又称为网页追逐者),是一种依照一定的规则,自己主动的抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁,自己主动索引。模拟程序或者蠕虫。假设把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。

        网络蜘蛛是通过网页的链接地址来寻找网页的。从站点某一个页面(一般是首页)開始,读取网页的内容。找到在网页中的其他链接地址。然后通过这些链接地址寻找下一个网页。这样一直循环下去,直到把这个站点全部的网页都抓取完为止。假设把整个互联网当成一个站点。那么网络蜘蛛就能够用这个原理把互联网上全部的网页都抓取下来。这样看来,网络爬虫就是一个爬行程序,一个抓取网页的程序。
        简单地说,网络爬虫的基本任务就是抓取网页内容

URL概念

        抓取网页的过程事实上和读者平时使用IE浏览器浏览网页的道理是一样的。比方说你在浏览器的地址栏中输入    www.baidu.com    这个地址。

打开网页的过程事实上就是浏览器作为一个浏览的“client”,向server端发送了 一次请求,把server端的文件“抓”到本地,再进行解释、展现。HTML是一种标记语言。用标签标记内容并加以解析和区分。浏览器的功能是将获取到的HTML代码进行解析,然后将原始的代码转变成我们直接看到的站点页面。


        在理解URL之前,首先要理解URI的概念

Web上每种可用的资源,如 HTML文档、图像、视频片段、程序等都由一个通用资源标志符(Universal Resource Identifier, URI)进行定位。 URI通常由三部分组成:

         ①訪问资源的命名机制;

         ②存放资源的主机名。

         ③资源自身 的名称。由路径表示。

如URI:http://www.baidu.com.cn/myhtml/html1223/,我们能够这样解释它:

        ①这是一个能够通过HTTP协议訪问的资源,

        ②位于主机www.baidu.com.cn上,

        ③通过路径“/html/html40”訪问。 

URL的概念
         URL是URI的一个子集。它是Uniform Resource Locator的缩写,译为“统一资源定位 符”。

通俗地说。URL是Internet上描写叙述信息资源的字符串,主要用在各种WWW客户程序和server程序上。採用URL能够用一种统一的格式来描写叙述各种信息资源,包含文件、server的地址和文件夹等。


URL演示样例

1.HTTP协议的URL演示样例:

使用超级文本传输协议HTTP,提供超级文本信息服务的资源。

例:http://www.peopledaily.com.cn/channel/welcome.htm 

其计算机域名为www.peopledaily.com.cn。

超级文本文件(文件类型为.html)是在文件夹 /channel下的welcome.htm。

这是中国人民日报的一台计算机。

例:http://www.rol.cn.net/talk/talk1.htm 

其计算机域名为www.rol.cn.net。

超级文本文件(文件类型为.html)是在文件夹/talk下的talk1.htm。

这是瑞得聊天室的地址,可由此进入瑞得聊天室的第1室。





2.文件的URL

用URL表示文件时。server方式用file表示,后面要有主机IP地址、文件的存取路 径(即文件夹)和文件名称等信息。

有时能够省略文件夹和文件名称。但“/”符号不能省略。

例:file://ftp.yoyodyne.com/pub/files/foobar.txt 

上面这个URL代表存放在主机ftp.yoyodyne.com上的pub/files/文件夹下的一个文件,文件名称是foobar.txt。

例:file://ftp.yoyodyne.com/pub 

代表主机ftp.yoyodyne.com上的文件夹/pub。

例:file://ftp.yoyodyne.com/ 

代表主机ftp.yoyodyne.com的根文件夹。

最新文章

  1. 如何使用 Entity Framework 构造动态查询表达式
  2. 细数Javascript技术栈中的四种依赖注入
  3. JSP 基础语法
  4. #import、#include以及@class的区别
  5. SQL Server里因丢失索引造成的死锁
  6. innerHtml and Jquery.html()
  7. Jenkins进阶系列之——12详解Jenkins节点配置
  8. HTTP协议 流程图
  9. 适配iOS7uinavigationbar遮挡tableView的问题
  10. Hibernate 、Hql查询和Criteria查询
  11. hdu-4302-Holedox Eating-线段树-单点更新,有策略的单点查询
  12. PHP - 接口 - 多接口
  13. HDU4911-Inversion(树状数组)
  14. hdoj 2602 Bone Collector 【01背包】
  15. iosiOSlabel基本使用以及文字自适应
  16. Python 关于字符串处理技巧
  17. Swing-JMenu菜单用法-入门
  18. ES6模块化
  19. 利用sshtunnel实现跳板机的效果[嵌套ssh实现]
  20. EditText 数字范围 检查string 是不是数字

热门文章

  1. C#委托与事件的关系(转载)
  2. sqlserver 创建索引 物化 视图
  3. Git中文书籍
  4. struts2与常用表格ajax操作的json传值问题
  5. 大项目之网上书城(六)——个人页面和书页面Demo
  6. luogu 4884 多少个1?
  7. 零基础入门学习Python(35)--图形用户界面入门:EasyGui
  8. SAX解析XML-例子
  9. assert.deepStrictEqual()
  10. uva 10596 - Morning Walk