1、服务器是如何识别访问来自浏览器还是非浏览器
通过post的http头中的User-Agent来进行识别浏览器与非浏览器,服务器还以User-Agent来区分各个浏览器。
2、明明代码跟视频中的例子一样,一运行却出错了,在不修改代码的情况下重新运行一次却又变好了,这是为什么?
在网络信息的传输中会出现偶然的丢包现象,有可能是你发送的请求服务器没有收到,也有可能是服务器响应的信息不能完整送回来
尤其是在网络阻塞的时候,所以,在设计一个称职的爬虫时,需要考虑到这偶尔的丢包现象。
3、我们说的http是基于“请求-响应”模式,request即请求的意思,response是响应的意思,由客户端首先发出request
服务器收到后返回response。
4、如何为一个request对象动态的添加header?
add_header()方法添加。
5、简单来说,代理服务器是如何工作的?有时候为什么不工作?
将信息传递给代理服务器,代理服务器替你向你要访问的服务器发送请求,然后把内容返回给你。
因为有丢包现象,所以多了一个中间人会增加丢包几率,且大多数代理并不只是为一个人服务,尤其是免费代理。
ps:大家想做‘坏坏’的事情可以考虑多几层代理,一般来说,路由器日志并不会保存很长时间,几层代理后,基本很难查到是谁请求的。
6、http有好几种方法(get,post,put,head,delete,options,connect)请问如何得知python是使用哪种方法访问服务器的呢
使用get_method()方法获取request对象具体使用哪种方法访问服务器。最常用的无非就是get和post了,当request的data参数被赋值的时候
get_method返回post,否则一般情况下返回get。
7、cookie可以分为两类
一类是即时过期的cookies,称为会话cookies,当浏览器关闭时(这里是Python的请求程序)自动清除。
一类是有期限的cookies,由浏览器进行存储,并在下一次请求该网站时自动附带(如果没有过期或者清理的话)