• 爬虫前奏


    URL:

    URL是Uniform Resource Locator的简称,统一资源定位符。

    一个URL一般由一下几部分组成:

    scheme://host:post/?quer-string=XXX#anchor
    • scheme:代表的是访问协议,一般为:HTTP、HTTPS以及ftp等。
    • host:主机名,域名,比如:www.baidu.com。
    • post:端口号,当访问网站时,浏览器默认使用80端口。
    • path:查找路径,比如:https://www.jianshu.com/trending/now,后面的 /trending/now 就是path。
    • quer-string:查找字符串,比如:https://baike.baidu.com/s?wd= Python,后面的 wd= Python 就是查询字符串。
    • anchor:锚点,前端用来做页面定位的。

    在浏览器中请求一个URL,浏览器会对这个URL进行一个编码。除英文字母、数字以及部分符号外,其他的全部使用百分号+十六进制码值进行编码。

     

    HTTP常用的请求方法:

    在HTTP协议中,定义了八种请求方法(https://www.runoob.com/http/http-methods.html)。常用的为get和post请求:

    1. get 请求:一般情况下,只从服务器获取数据,并不会对服务器资源产生任何影响的时候会使用get请求。

    2. post 请求:向服务器发送数据(登录)、上传文件等,会对服务器资源产生影响的时候使用post请求。

     

    请求头常见参数:

    在HTTP协议中,向服务器发送一个请求,数据分为三类:第一是把数据放在 URL 中,第二是把数据放在 body 中(post请求),第三是把数据放在 head 中。网络爬虫中常用到的请求头参数:

    1. User-Agent : 浏览器名称。在网络爬虫中经常用到。请求一个网页时,服务器通过这个参数可以知道请求是由哪个浏览器发送的。因此,我们经常设置一些浏览器的值来伪装爬虫。

    2 . Referer : 表明当前的请求是从哪个URL发送过来的,一般可用来做反爬虫技术,如果不是从指定页面过来的,那么不做相关响应。

    3. Cookie : http协议是无状态的,同一个人发送两次请求,服务器没能力知道两次请求来自同一个人。因此,Cookie 来做标识。一般想要登录才能访问的网站,就需要发送 Cookie 信息。

    常见状态响应码:

    200   (成功)  服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。

    301(永久重定向)  请求的网页已永久重定向到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者重定向到新位置。

    302(临时移动重定向)  服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。比如:访问需要登录的页面,            此时没有登录,就会重定向到登录页面。

    400   (错误请求)服务器不理解请求的语法。比如:URL错误。

    403   (禁止)服务器拒绝请求,权限不够。

    500   (服务器内部错误)  服务器遇到错误,无法完成请求。

    更加详细参考:https://blog.csdn.net/ddhsea/article/details/79405996

  • 相关阅读:
    计划任务
    swap
    fdisk
    raid 搭建
    Http协议中Cookie详细介绍
    linux系统日志以及分析
    搞清楚php-FPM到底是什么?
    Amoeba+Mysql实现数据库读写分离
    Last_SQL_Error: Error 'Can't drop database 'ABC'; database doesn't exist' on query. Default database: 'ABC'. Query: 'drop database ABC'
    MySQL主从失败, 错误Got fatal error 1236解决方法
  • 原文地址:https://www.cnblogs.com/-hao-/p/13789124.html
Copyright © 2020-2023  润新知