Python爬虫笔试题
Python爬虫笔试题
笔试题
1. 写出五种http status code以及其含义。
- 100-消息
- 100-Continue,客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。
- 200-成功
- 200-OK,请求成功,请求所希望的响应头或数据体将随此响应返回。出现此状态码是表示正常状态
- 201-Created,请求已经被实现,而且有一个新的资源已经依据请求的需要而建立,且其 URI 已经随Location 头信息返回。
- 202-Accepted,服务器已接受请求,但尚未处理。
- 300-重定向
- 300-Multiple Choices,被请求的资源有一系列可供选择的回馈信息,每个都有自己特定的地址和浏览器驱动的商议信息。用户或浏览器能够自行选择一个首选的地址进行重定向。
- 302-Move Temporarily,请求的资源临时从不同的 URI响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。
- 303-See Other,对应当前请求的响应可以在另一个 URL 上被找到,而且客户端应当采用 GET 的方式访问那个资源。这个方法的存在主要是为了允许由脚本激活的POST请求输出重定向到一个新的资源。这个新的 URI 不是原始资源的替代引用。
- 400-请求错误
- 400-Bad Request,1、语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。2、请求参数有误。
- 401-Unauthorized,当前请求需要用户验证。该响应必须包含一个适用于被请求资源的 WWW-Authenticate 信息头用以询问用户信息。
- 403-Forbidden,服务器已经理解请求,但是拒绝执行它。与401响应不同的是,身份验证并不能提供任何帮助,而且这个请求也不应该被重复提交。
- 404-Not Found,请求失败,请求所希望得到的资源未被在服务器上发现。
- 408-Request Timeout,请求超时。客户端没有在服务器预备等待的时间内完成一个请求的发送。
- 500-服务器错误
- 500-Internal Server Error,服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器端的源代码出现错误时出现。
- 501-Not Implemented,服务器不支持当前请求所需要的某个功能。当服务器无法识别请求的方法,并且无法支持其对任何资源的请求.
- 502 Bad Gateway作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
- 503-Service Unavailable由于临时的服务器维护或者过载,服务器当前无法处理请求。
2. 写出http报文中acceppt,connection,host,referer,user-agent的含义。
- accept: 客户端希望接受的数据类型,比如 Accept:text/xml(application/json)表示希望接受到的是xml(json)类型
- connection:连接方式(close或keeplive)
- host:请求的主机名,允许多个域名绑定同一IP地址
- referer:1.防止盗链,2防止恶意请求
- user-agent:生成请求的浏览器类型
3. 写出selenium的作用及其优缺点。
Selenium 是web自动化测试工具集,专门为Web应用程序编写的一个验收测试工具,其通过驱动浏览器获得的解析JavaScript的能力。
优点:
在动态爬取方面拥有极大的优势,极大的提升了开发效率。
缺点:
速度慢。每次运行爬虫都打开一个浏览器。
占用资源太多。
对网络的要求会更高。
爬取规模不能太大。
学习Selenium的成本太高。
面试相关问题
- python基本数据类型
- 项目相关问题
- selenium相关问题
- 解析器的选择
- scrapy相关问题

浙公网安备 33010602011771号