Python爬虫学习:1、相关概念与基础知识

爬虫:html

网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,得到初始网页上的URL,在抓取网页的过程当中,不断从当前页面上抽取新的URL放入队列,直到知足系统的必定中止条件。python

聚焦爬虫的工做流程较为复杂,须要根据必定的网页分析算法过滤与主题无关的连接,保留有用的连接并将其放入等待抓取的URL队列。而后,它将根据必定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时中止。正则表达式

另外,全部被爬虫抓取的网页将会被系统存贮,进行必定的分析、过滤,并创建索引,以便以后的查询和检索;对于聚焦爬虫来讲,这一过程所获得的分析结果还可能对之后的抓取过程给出反馈和指导。 算法

聚焦爬虫还须要解决三个主要问题:
(1) 对抓取目标的描述或定义;
(2) 对网页或数据的分析与过滤;
(3) 对URL的搜索策略。
 
抓取网页的过程:
抓取网页的过程其实和咱们平时用浏览器打开网页连接差很少,只是平时咱们所用的浏览器会自动将抓取的HTML代码转化为咱们容易理解的内容。打开浏览器,按下的电脑的F12键,就能够查看该网页的HTML代码。
 
什么是URI
Web上可用的每种资源 - HTML文档、图像、视频片断、程序等,由一个经过通 用资源标志符(Universal Resource Identifier, 简称"URI")进行定位。
什么是URL:
URL是Uniform Resource Location的缩写,译为“统一资源定位符”。通俗地说,URL是Internet上用来描述信息资源的字符串,采用URL能够用一种统一的格式来描述各类信息资源,包括文件、服务器的地址和目录等。
 
URI与URL的区别是:URI 和 URL 都定义了 what the resource is。URL 还定义了 how to get the resource。
基本URL包含模式(或称协议)服务器名称(或IP地址)路径和文件名,如“协议://受权/路径?查询”。完整的、带有受权部分的普通统一资源标志符语法看上去以下:协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志
 
Python爬虫过程当中经常使用的相关包:
urllib:urllib提供的功能就是利用程序去执行各类HTTP请求。
urllib2:urllib2是python的一个获取url(Uniform ResourceLocators,统一资源定址器)的模块。它用urlopen函数的形式提供了一个很是简洁的接口。这使得用各类各样的协议获取url成为可能。它同时也提供了一个稍微复杂的接口来处理常见的情况-如基本的认证,cookies,代理,等等。这些都是由叫作opener和handler的对象来处理的。
re:正则表达式模块,指定一个与之匹配的字符集合,该模块所提供的函数,能够用来检查所给的字符串是否与指定的正则表达式匹配。
Beautiful Soup: Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,经过解析文档为用户提供须要抓取的数据,由于简单,因此不须要多少代码就能够写出一个完整的应用程序。Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不须要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。而后,你仅仅须要说明一下原始编码方式就能够了。Beautiful Soup已成为和lxml、html6lib同样出色的python解释器,为用户灵活地提供不一样的解析策略或强劲的速度。
requests: requests是python的一个HTTP客户端库,跟urllib,urllib2相似,那为何有时候会用requests而不用urllib2呢?官方文档中是这样说明的:python的标准库urllib2提供了大部分须要的HTTP功能,但在实现某些简单的功能中,不如requests简单。
 
#因为本人能力有限,描述不恰当之处,还望各位朋友多多指正,转载时请注明原做者出处^_^。
相关文章
相关标签/搜索