python爬虫快速入门,python爬虫怎么挣钱
Yyds干货库存
1.什么是http和https协议?HTTP协议:全称是超文本传输协议,中文意思是超文本传输协议。这是一种发布和接收HTML页面的方法。服务器端口号是端口80。
HTTPS协议:它是HTTP协议的加密版本,在HTTP下面增加了SSL层。服务器端口号是端口443。
2.在浏览器中发送http请求的过程是怎样的?(1)用户在浏览器中输入URL链接并按回车键后,浏览器会向HTTP服务器发送HTTP请求。
请求方式主要分为GET和POST两种方式。
(2)当我们在浏览器中输入UTL时,浏览器会发送一个Request请求获取URL的HTML文件,服务器会向浏览器发送响应文件对象;
(3)浏览器在分析返回响应中的HTML时,会发现还有很多其他类型的资源,比如图片、CSS、JS文件等。这时浏览器会自动再次发送请求请求来获取这些资源;
(4)当所有文件下载成功后,网页会按照HTML语法的结构显示其内容,这就是我们看到的完整网页。
3.URL详情URL是Uniform Resource Locator的缩写,是统一资源定位器。URL由以下部分组成:
scheme://host:port/path/?Query-string=xxx#anchorscheme:表示访问协议,通常是http或https等。Host:代表主机名和域名,类似于:weixin.qq.com;Port:端口号,如果是http协议,默认是80,https协议,默认是443,当然也可以直接在它后面指定端口号;路径:路径,如https://weixin.qq.com/yunweijia,则云维嘉是路径;Query-string:查询字符串;主播:主播,前端用的比较多,后端几乎不用。在浏览器中请求一个url,浏览器会对该url进行编码。除了英文字母、数字和一些符号外,其他都用百分号十六进制码值编码。
比如我们在百度上创建了一个“运营者的博客”,那么我们看到的浏览器地址如下:
当我们复制这个地址时,它变成如下:
https://www.baidu.com/s?IE=UTF-8F=8 RSV _ BP=1TN=62095104 _ 26 _ OEM _ DG WD=运营者的博客OQ=% E8 % BF % 90% E7 % BB % B4 % E5 % AE % B6 % E7 % 9A % 84% E5 % 85 6 F9 ea 6 jfvchgs 9 lyvge 8 TJ 2j 0 mlfwifvokmvzbqozwmb 1 o 4 iw wtk 93ts 7 iukksilxrfaxloz rq lang=cn RSV _ 1可见中文确实已经成为百分号十六进制的内容。
4.常用的请求方法在http协议中,有八种常用的请求方法,如下:
命令
方法
形容
一个
得到
所请求的页面信息被返回给实体主体。
2
邮政
将数据提交给指定资源进行处理的请求(如提交表单或上传文件)。数据包含在请求体中,POST请求可能导致新资源的建立或现有资源的修改。
三
头
类似于GET request,只是返回的响应中没有具体的内容,用来获取头。
四
选择
允许客户端查看服务器的内容。
五
放
从客户端传输到服务器的数据会替换指定的文档内容。
六
删除
请求服务器删除指定的页面。
七
微量
回应服务器收到的请求,主要用于测试或诊断。
八
连接
在HTTP/1.1协议中,它是为可以将连接更改为管道模式的代理服务器保留的。
但是我们一般用GET和POST。
一般会遵循使用原则。但有些网站和服务器为了做反爬虫机制,往往不按常理出牌。应该使用get方法的请求可能必须更改为post请求。这个要看情况,但不是固定的。
5.请求头的常用参数(1)请求数据在http请求中,发起请求时,数据大致分为三部分:
数据放在url中;
数据放在主体中(在post请求中);把数据放在头里;
(2) User-Agent,请求头的公共参数:浏览器名称。这在网络爬虫中经常使用。当请求一个网页时,服务器可以通过这个参数知道是哪个浏览器发出的请求。如果我们通过爬虫发送请求,那么我们的用户代理就是Python。对于那些有反爬虫机制的网站,很容易判断出你的请求是爬虫。因此,我们应该始终将该值设置为某些浏览器的值,以伪装我们的爬虫。Referer:指示当前请求来自哪个url。这也可以作为一种反爬行动物的技术。如果它不是来自指定的页面,那么不要回应。cookie:HTTP协议是无状态的。也就是同一个人发出两个请求,服务器没有能力知道这两个请求是否来自同一个人。因此,此时使用cookie进行标识。一般想做一个登录后才能访问的网站,需要发送cookie信息。和cookie都是有时效性的,也就是说,过一段时间就会过期。6、http常用响应状态码这是正常状态,但并不牢固。不排除有些网站不按常理出牌。
大致分为五类,如下图所示:
细分如下:
状态代码
英文描述
状态描述
100
继续
继续吧。客户端应该继续它的请求。
101
交换协议
移交协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,比如新版的HTTP。
200
好
请求成功。通常用于GET和POST请求。
201
创造
已创建。成功请求并创建了新资源
202
可接受的
接受。请求已被接受,但处理尚未完成。
203
非权威信息
未经授权的信息。请求成功。但是返回的元信息不在原始服务器中,而是一个副本。
204
没有内容
没有内容。服务器已成功处理,但未返回任何内容。当网页没有更新时,可以保证浏览器继续显示当前文档。
205
重置内容
重置内容。服务器处理成功,用户终端(如浏览器)应重置文档视图。您可以使用此返回代码清除浏览器的表单字段。
206
部分内容
部分内容。服务器成功处理了一些GET请求。
300
多重选择
多项选择。所请求的资源可以包括多个位置,并且可以返回资源特征和地址的列表以供用户终端(例如,浏览器)选择。
301
永久移动
永久移动。请求的资源已被永久移动到新的URI,返回的信息将包括新的URI,浏览器将自动定向到新的URI。未来的任何新要求都应该被一个新的URI所取代。
302
找到
暂时的运动。类似301。但是资源只是暂时移动。客户应该继续使用原来的URI。
303
查看其他
查看其他地址。类似301。使用GET和POST请求来查看
304
未修改
未修改。请求的资源尚未修改。当服务器返回此状态代码时,不会返回任何资源。通常,客户端缓存被访问的资源,通过提供一个头信息表明客户端只想返回在指定日期之后修改的资源。
305
使用代理
使用代理。请求的资源必须通过代理访问。
306
不用的
已被放弃的HTTP状态代码
307
临时重定向
临时重定向。类似302。使用获取请求重定向
名流
错误的请求
客户端请求的语法错误,服务器无法理解。
401
未经授权的
要求用户验证。
402
要求付款
保留它以备将来使用。
403
被禁止的
服务器理解请求客户端的请求,但拒绝执行该请求。
404
未发现
服务器无法根据客户端的请求找到资源(网页)。通过这段代码,网站设计者可以设置‘找不到您请求的资源’的个性化页面。
405
不允许的方法
客户端请求中的方法被禁止。
406
不可接受
服务器无法根据客户端请求的内容特征完成请求。
407
需要代理验证
需要代理的认证,类似于401,但是请求者应该使用代理进行授权。
408
请求暂停
服务器等待客户端发送的请求时间过长,已超时。
414
请求-URI太大
请求的URI太长(通常是URL),服务器无法处理。
500
内部服务器错误
服务器内部错误,无法完成请求。
501
未实施
服务器不支持请求的功能,无法完成请求。
502
坏门
当充当网关或代理的服务器试图执行请求时,它从远程服务器收到无效响应。
503
服务不可用
由于过载或系统维护,服务器暂时无法处理客户端的请求。延迟的长度可以包含在服务器的重试后报头信息中。
504
网关超时
充当网关或代理的服务器没有及时从远程服务器获得请求。
505
不支持HTTP版本
服务器不支持请求的HTTP协议版本,无法完成处理。
至此,本文结束。
更多优质内容,请前往VX微信官方账号“运维之家”,回复“165”查看。
——“运维之家”,回复“165”—
——“运维之家”,回复“165”—
——“运维工程师”,回复“165”——重庆安全运维工程师入职门槛低,运维监理工程师是做什么的,大连找工作运维工程师,系统运维工程师工作计划编制,系统运维工程师学习课程,运维工程师兼职,信息化运维工程师绩效考核表,高级运维工程师工资, 风电运维工程师工作服,运维工程师Sql面试问题,it运维工程师提问,运维工程师应该具备哪些技能,运维工程师经常考什么,SDIC电力初级运维工程师日常照,运维工程师在华北电力做什么,网络工程师辛苦吗? 电商运维工作,电气工程师月薪,运维工程师百度,运维工程师相关书籍。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。