Python爬虫系列博客将会介绍爬虫的基础知识,简单的爬虫框架,并且穿插讲解一些web前端的知识,最后会用PyQt做UI用爬虫做一个简单的学校的教务系统
什么是爬虫
网络爬虫始于一张被称作种子的统一资源地址(URLs)列表。当网络爬虫访问这些统一资源定位器时,它们会甄别出页面上所有的超链接,并将它们写入一张"待访列表",即所谓"爬行疆域"(crawl> frontier)。此疆域上的统一资源地址将被按照一套策略循环访问。如果爬虫在他执行的过程中复制归档和保存网站上的信息,这些档案通常储存,使他们可以被查看。阅读和浏览他们的网站上实时更新的信息,并保存为网站的“快照”。大容量的体积意味着网络爬虫只能在给定时间内下载有限数量的网页,所以要优先考虑其下载。高变化率意味着网页可能已经被更新或者删除。一些被服务器端软件生成的URLs(统一资源定位符)也使得网络爬虫很难避免检索到重复内容。
摘自维基百科
浏览网页的过程
在用户浏览网页的过程中,我们可能会看到许多好看的图片,比如 http://image.baidu.com/
,我们会看到几张的图片以及百度搜索框,这个过程其实就是用户输入网址之后,经过DNS服务器,找到服务器主机,向服务器发出一个请求,服务器经过解析之后,发送给用户的浏览器
HTML、JS、CSS 等文件,浏览器解析出来,用户便可以看到形形色色的图片了。因此,用户看到的网页实质是由 HTML 代码构成的,爬虫爬来的便是这些内容,通过分析和过滤这些 HTML 代码,实现对图片、文字等资源的获取
什么是URL
URL是统一资源定位符,统一资源定位符的标准格式如下:协议类型://服务器地址(必要时需加上端口号)/路径/文件名
如何理解http://localhost:8080/web/hello.html 这个URL
- http:// 协议类型 Http协议
- localhost 域名 本地域名localhost 外部域名 www.baidu.com
- 8080 端口 软件的监听端口
- web 网站的名称
- hello.html 网站中的资源的名称