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的成本太高。
面试相关问题

  1. python基本数据类型
  2. 项目相关问题
  3. selenium相关问题
  4. 解析器的选择
  5. scrapy相关问题
posted @ 2021-10-15 13:35  流光之中  阅读(266)  评论(0)    收藏  举报