关键词:
1. 爬虫简介
1.1 爬虫是什么?
什么是爬虫,以下是百度百科上的解析:
很多人都将互联网比喻成一张非常大的网,将世界连接起来。如果说互联网是一张网,那么爬虫就像在网上爬的小虫子,通过网页的链接地址来寻找网页,通过特定的搜索算法来确定路线,通常从网站的某一个页面开始,读取该网页的内容,找到该网页中的其他链接地址,然后通过这些链接地址寻找下一个网页,就这样一直循环下去,直到将该网站的所有网页全部抓取为止。
1.2 爬虫原理
发起请求:
使用http库向目标站点发起请求,即发送一个Request
Request包含:请求头、请求体等
接收响应:
如果服务器能正常响应,则会得到一个Response
Response包含:html,json,图片,视频等
解析网页:
解析html数据:正则表达式,第三方解析库如Beautifulsoup,pyquery等
解析json数据:json模块
解析二进制数据:以b的方式写入文件
存储资源:
数据库
1.3 发送请求
爬虫的第一个步骤就是对起始 URL 发送请求,以获取其返回的响应
值得注意的是,发送请求实质上是指发送请求报文的过程
请求报文包括以下四个方面:请求行、请求头、空行和请求体。
(1)请求行
请求行由请求方法、请求 URL 和 HTTP 协议版本 3 个字段组成,字段间使用空格分隔
请求方法:请求方法是指对目标资源的操作方式,常见的有 GET 方法和 POST 方法
GET:从指定的资源请求数据,查询字符串包含在 URL 中发送
POST:向指定的资源提交要被处理的数据,查询字符串包含在请求体中发送
请求 URL:请求 URL 是指目标网站的统一资源定位符 (Uniform Resource Locator,URL)
HTTP 协议版本:HTTP 协议是指通信双方在通信流程和内容格式上共同遵守的标准
(2)请求头
请求头被认为是请求的配置信息,以下列举出常用的请求头信息
User-Agent:包含发出请求的用户的信息,设置 User-Agent 常用于处理反爬虫
Cookie:包含先前请求的内容,设置 Cookie 常用于模拟登陆
Referer:指示请求的来源,用于可以防止链盗以及恶意请求
(3)空行
空行标志着请求头的结束
(4)请求体
请求体根据不同的请求方法包含不同的内容
如果是get方式,请求体没有内容
如果是post方式,请求体是format data
1.4 接收响应
爬虫的第二个步骤就是获取特定 URL 返回的响应,以提取包含在其中的数据。
同样的,响应其实是指完整响应报文,它包括四个部分:响应行、响应头、空行和响应体。
(1)响应行
响应行由 HTTP 协议版本、状态码及其描述组成。
HTTP 协议版本:HTTP 协议是指通信双方在通信流程和内容格式上共同遵守的标准。
状态码及其描述:
100~199:信息,服务器收到请求,需要请求者继续执行操作
200~299:成功,操作被成功接收并处理
300~399:重定向,需要进一步的操作以完成请求
400~499:客户端错误,请求包含语法错误或无法完成请求
500~599:服务器错误,服务器在处理请求的过程中发生错误
(2)响应头
响应头用于描述服务器和数据的基本信息,以下列举出常用的响应头信息
Set-Cookie:设置浏览器 Cookie,以后当浏览器访问符合条件的 URL 时,会自动带上该 Cooike
(3)空行
空行标志着响应头的结束。
(4)响应体
响应体就是网站返回的数据,在下一个步骤中我们需要对其进行分析处理。
1.5 解析网页
解析网页实质上需要完成两件事情,一是提取网页上的链接,二是提取网页上的资源。
(1)提取链接
提取链接实质上是指获取存在于待解析网页上的其他网页的链接。
网络爬虫需要给这些链接发送请求,如此循环,直至把特定网站全部抓取完毕为止。
(2)提取资源
提取数据则是爬虫的目的,常见的数据类型如下:
文本:HTML,JSON 等
图片:JPG,GIF,PNG 等
视频:MPEG-1、MPEG-2 和 MPEG4,AVI 等
最终,我们可以对所获得的资源作进一步的处理,从而提取出有价值的信息。
爬虫简介
python网络爬虫的简单介绍什么是爬虫 爬虫就是通过编写程序模拟浏览器上网,然后让其去互联网上抓取数据的过程。哪些语言可以实现爬虫 1.php:可以实现爬虫。php被号称是全世界最优美的语言(当然是其自己... 查看详情
爬虫简介(代码片段)
爬虫的定义爬虫:按照一定的规则,自动抓取互联网信息的程序或者脚本,从而获取对于我们有价值的信息。爬虫的两大特征能够按照作者的要求下载数据或者内容能自动在网络上流窜爬虫的三大步骤下载网页提取正确的信息根... 查看详情
python爬虫第一课python爬虫环境与爬虫简介
1.1认识爬虫网络爬虫作为收集互联网数据的一种常用工具,近年来随着互联网的发展而快速崛起。使用网络爬虫爬取网络数据首先需要了解网络爬虫的概念和主要分类,各类爬虫的系统结构,运作方式,常用的爬... 查看详情
开源的网络爬虫以及一些简介和比较
转 目前网络上开源的网络爬虫以及一些简介和比较目前网络上有不少开源的网络爬虫可供我们使用,爬虫里面做的最好的肯定是google,不过google公布的蜘蛛是很早的一个版本,下面是几种开源的网络爬虫的简单对比表:下面... 查看详情
爬虫与反爬虫技术简介(代码片段)
互联网的大数据时代的来临,网络爬虫也成了互联网中一个重要行业,它是一种自动获取网页数据信息的爬虫程序,是网站搜索引擎的重要组成部分。通过爬虫,可以获取自己想要的相关数据信息,让爬虫协... 查看详情
我的第二十三篇博客---爬虫简介
网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟客户端(主要指浏览器)发送网络请求,接收请求响应,按照一定的规则,自动地抓取互联网信息的程序。原则上,只要是客户端(主要指浏览器)能做的事情,爬虫都能够... 查看详情
python爬虫零基础教程:简介及准备
其他的教程往往从语法开始,而我们直接开始爬虫,语法等知识边做边学。这第0篇我们简单介绍下爬虫和编程工具。其他的教程往往从语法开始,而我们直接开始爬虫,语法等知识边做边学。这第0篇我们简单介绍下爬虫和编程... 查看详情
网络爬虫简介
什么是网络爬虫为什么要学网络爬虫网络爬虫的组成网络爬虫的类型网络爬虫的工作流程网络爬虫的爬行策略网络爬虫的更新策略扩展:网页分析算法扩展:GooSeeker工具 1.什么是网络爬虫(1)网络爬虫又称网络蜘蛛,可以... 查看详情
网络爬虫简介
爬虫简介:网络爬虫是按照一定的规则,自动的抓取万维网信息的程序或者脚本。各编程语言编写爬虫程序:1,PHP:PHP是世界是最好的语言,但他天生不是做这个的,而且对多线程、异步支持不是很好,并发处理能力弱。爬虫... 查看详情
python爬虫|网络爬虫简介(代码片段)
文章目录Python爬虫|网络爬虫简介网络爬虫何时有用网络爬虫是否合法背景调研检查robots.txt检查网站地图估算网站大小识别网站所用技术寻找网站所有者编写第一个网络爬虫下载网页网站地图爬虫ID遍历爬虫链接爬虫Python爬虫|网... 查看详情
python爬虫|网络爬虫简介(代码片段)
文章目录Python爬虫|网络爬虫简介网络爬虫何时有用网络爬虫是否合法背景调研检查robots.txt检查网站地图估算网站大小识别网站所用技术寻找网站所有者编写第一个网络爬虫下载网页网站地图爬虫ID遍历爬虫链接爬虫Python爬虫|网... 查看详情
爬虫-简介
爬虫的定义为什么要做爬虫首先请问:都说现在是“大数据时代”,那数据从何而来?企业产生的用户数据:百度指数、阿里指数、TBI腾讯浏览指数、新浪微博指数数据平台购买数据:数据堂、国云数据市场、贵阳大数据交易所... 查看详情
开源java单机爬虫框架简介,优缺点分析
...据成为营销推广的关键。而获得数据的最佳方式就是利用爬虫去抓取。但是爬虫的使用少不了代理ip太阳HTTP的支撑。当然网络上现在有很多开源爬虫,大大方便了大家使用。但是开源网络爬虫也是有优点也有缺点,清晰认知这一... 查看详情
爬虫:爬虫简介
1.爬虫简介1.1爬虫是什么?什么是爬虫,以下是百度百科上的解析: 很多人都将互联网比喻成一张非常大的网,将世界连接起来。如果说互联网是一张网,那么爬虫就像在网上爬的小虫子,通过网页的链接地址来寻找网... 查看详情
网页简介(代码片段)
有人说“互联网中有50%以上的流量是爬虫”,第一次听这句话也许你会觉得这个说法实在太夸张了,怎么可能爬虫比用户还多呢?毕竟会爬虫的相对与不会爬虫的简直少之又少。但是很多爬虫工程师或者反爬虫工程师讲了实话:... 查看详情
爬虫入门pyquery简介
PyQuery目前最新的版本是1.3,基于最新版本进行介绍。主要根据PyQuery的官方文档进行了更新。frompyqueryimportPyQueryaspqfromlxmlimportetreeimporturllibdoc=pq(‘<pid="hello"class="hello"></p>‘)#解析文档的基本方法p=doc(‘p‘)#获取p标签print(p... 查看详情
数据分析⚠️走进数据分析2⚠️爬虫简介(代码片段)
【数据分析】⚠️走进数据分析2⚠️爬虫简介概述爬虫爬取网页设置超时时间处理网络异常概述数据分析(DataAnalyze)可以在工作中的各个方面帮助我们.本专栏为量化交易专栏下的子专栏,主要讲解一些数据分析的基础知识.爬虫爬... 查看详情
爬虫简介和requests模块(代码片段)
目录爬虫介绍requests模块requests模块1、requests模块的基本使用2、get请求携带参数,调用params参数,其本质上还是调用urlencode3、携带headers,请求头是将自身伪装成浏览器的关键4、带cookie5、发送post请求(注册,登陆),携带数据(bod... 查看详情