爬虫前缀知识

    技术2022-07-13  71

    声明:本文大部分内容来自21天搞定Python分布爬虫教学视频

    url详解

    URL是Uniform Resource Locator的简写,称为统一资源定位符。 一个URL由以下几部分组成:

    scheme://host:port/path/?query-string=xxx#anchor sheme:访问的协议,一般为http、https、ftphost:主机名,域名,比如www.baidu.comport:端口号。当访问一个网站时,浏览器默认使用80端口path:查找路径。一个页面下的哪个目录,比如:www.jianshu.com/trending/nowquery-string:查询字符串,比如:www.baidu.com/s?wd=python,后面的wd=python就是查询字符串anchor:锚点,前端用来做页面定位的

    在浏览器中请求一个url,浏览器会对这个url进行一个编码:除英文字母、数字和部分符号外,其余的均使用% + 十六进制码值进行编码。比如当我在百度搜索刘德华时,wd字段如下: 而将该链接复制到txt文本文件中时,则变成了一串由% + 十六进制码值组成的串:

    常用的请求方法

    在http协议中,定义了8种请求方法。这里只介绍两种常用的请求:get和post请求

    get请求:一般情况下,只从服务器获取数据下来,并不会对服务器资源产生任何影响的时候会用到get请求post请求:向服务器发送数据(登录)、上传文件等,会对服务器资源产生影响的时候会使用post请求

    不过有的时候,有些网站和服务器会做反爬虫机制,比如将get和post请求的对应情景对调

    常见响应状态码

    200:请求正常,服务器正常地返回数据。但是数据不一定正确301:永久重定向。比如访问www.jingdong.com时,会重定向到www.jd.com302:临时重定向。比如在访问一个需要登录的页面的时候,如果此时并没有登录,则会临时重定向到登录页面400:请求的url在服务器上找不到。换句话说就是请求url错误403:服务器拒绝访问,权限不够404:请求失败,请求所希望得到的资源未被在服务器上发现500:服务器内部错误。可能是服务器出现了bug
    Processed: 0.010, SQL: 9