本文主要介绍了python爬虫的工作原理,具有很好的参考价值。下面就让我们跟随边肖一起来看看吧。
1.爬虫的工作原理
网络爬虫,也就是网络蜘蛛,是一个很形象的名字。把互联网比作蜘蛛网,那么Spider就是在互联网上爬来爬去的蜘蛛。蜘蛛通过链接地址寻找网页。从网站的某一页(通常是首页)开始,读取网页的内容,找到网页中的其他链接地址,然后通过这些链接地址搜索下一个网页,如此循环下去,直到爬取了这个网站的所有网页。如果把整个互联网看成一个网站,那么网络蜘蛛就可以利用这个原理抓取互联网上的所有网页。这样,网络爬虫就是一个爬行程序,一个爬行网页的程序。网络爬虫的基本操作是抓取网页。那么如何才能随心所欲的得到自己想要的页面呢?从网址开始。
其实抓取网页的过程和读者平时用IE浏览器浏览网页是一样的。例如,如果您在浏览器的地址栏中键入www.baidu.com的地址。其实打开网页的过程就是浏览器作为浏览“客户端”向服务器发出请求,从服务器“抓取”文件到本地,然后进行解释和展示。HTML是一种标记语言,它使用标签来标记内容,解析和区分内容。浏览器的作用就是对获取的HTML代码进行解析,然后将原始代码转化为我们可以直接看到的网站页面。
简单地说,URL就是http://www.baidu.com在浏览器中输入的字符串。在了解URL之前,我们应该先了解URI的概念。
什么是URI?
网络上所有可用的资源,如HTML文档、图像、视频剪辑、程序等。由统一资源标识符(URI)定位。
URI通常由三部分组成:
访问资源的命名机制;
存储资源的主机名;
资源本身的名称,由路径表示。
比如下面的http://www.why.com.cn/myhtml/html1223/URI
这是一种可以通过HTTP协议访问的资源,
位于主机www.webmonkey.com.cn上,
通过路径“/html/html40”访问。
2. URL的理解和举例
URL是URI的子集。是Uniform Resource Locator的缩写,翻译为“统一资源定位器”。一般来说,URL是描述互联网上信息资源的字符串,主要用于各种WWW客户端程序和服务器程序中。URL可以用来以统一的格式描述各种信息资源,包括文件、服务器的地址和目录等。URL的一般格式是(方括号[]是可选的):
protocol :// hostname[:port] / path / [;parameters][?query]#fragment
URL的格式由三部分组成:
第一部分是协议(或服务模式)。
第二部分是存储资源的主机的IP地址(有时包括端口号)。
第三部分是主机资源的具体地址,比如目录和文件名。
第一部分和第二部分由“://”分隔,第二部分和第三部分由“/”分隔。第一、二部分缺一不可,第三部分有时可以省略。
3、URL和URI简单比较
URI是URL的低层抽象,是一种字符串文本标准。换句话说,URI属于父类,而URL属于URI的子类。URL是URI的子集。URI的定义是:统一资源标识符;URL的定义是:统一资源定位符。两者的区别在于,URI代表请求服务器的路径,并定义了这样的资源。URL还解释了如何访问这个资源(http://)。
让我们来看两个URL的小例子。
1.HTTP协议的URL示例:
使用超文本传输协议HTTP为超文本信息服务提供资源。
例如:http://www.peopledaily.com.cn/channel/welcome.htm
它的电脑域名是www.peopledaily.com.cn。
超文本文件(文件类型:html)是目录/频道中的welcome.htm。
这是中国人民日报的电脑。
例如:http://www.rol.cn.NET/talk/talk1.htm
它的电脑域名是www.rol.cn.Net。
超文本文件(文件类型:html)是目录/talk中的talk1.htm。
这是莱德聊天室的地址,你可以进入莱德聊天室的1号房间。
2文件的URL
用URL表示文件时,服务器模式用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上的目录/发布。
示例:file://ftp.yoyodyne.com/
表示主机ftp.yoyodyne.com的根目录。
爬虫的主要处理对象是URL,根据URL地址获取所需的文件内容,然后进一步处理。
因此,准确理解URL对于理解网络爬虫非常重要。
这就是本文的全部内容。希望这篇文章的内容能给你的学习或者工作带来一些帮助,同时也希望你能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。