网络爬虫,即Web Spider,是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛是通过网页的链接地址来寻找网页的。从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。这样看来,网络爬虫就是一个爬行程序,一个抓取网页的程序。网络爬虫的基本操作是抓取网页。 基本工作流程: 用户获取网络数据的方式: 方式1:浏览器提交请求--->下载网页代码--->解析成页面 方式2:模拟浏览器发送请求(获取网页代码)->提取有用的数据->存放于数据库或文件中 爬虫要做的就是方式2; 1、发起请求 使用http库向目标站点发起请求,即发送一个Request Request包含:请求头、请求体等 Request模块缺陷:不能执行JS 和CSS 代码 2、获取响应内容 如果服务器能正常响应,则会得到一个Response Response包含:html,json,图片,视频等 3、解析内容 解析html数据:正则表达式(RE模块),第三方解析库如Beautifulsoup,pyquery等 解析json数据:json模块 解析二进制数据:以wb的方式写入文件 4、保存数据 数据库(MySQL,Mongdb、Redis) 文件 抓取网页的过程其实和读者平时使用IE浏览器浏览网页的道理是一样的。比如说你在浏览器的地址栏中输入www.baidu.com这个地址。打开网页的过程其实就是浏览器作为一个浏览的“客户端”,向服务器端发送了 一次请求,把服务器端的文件“抓”到本地,再进行解释、展现。HTML是一种标记语言,用标签标记内容并加以解析和区分。浏览器的功能是将获取到的HTML代码进行解析,然后将原始的代码转变成我们直接看到的网站页面。 爬虫最主要的处理对象就是URL,它根据URL地址取得所需要的文件内容,然后对它 进行进一步的处理。因此,准确地理解URL对理解网络爬虫至关重要。 URL的格式由三部分组成: 第一部分是协议(或称为服务方式)。 第二部分是存有该资源的主机IP地址(有时也包括端口号)。 第三部分是主机资源的具体地址,如目录和文件名等。 第一部分和第二部分用“://”符号隔开,第二部分和第三部分用“/”符号隔开。第一部分和第二部分是不可缺少的,第三部分有时可以省略。 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表示文件时,服务器方式用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的根目录。
HCNP培训机构 HCIE培训中心 HCIE认证培训 HCNA培训 图片来源于网络 助教:马季
|