URL详解:scheme://host:port/path/?query-string=xxx#anchor
- scherme:代表访问协议,一般http/https/ftp
- host:主机名,域名 如:www.baidu.com
- port:端口号。当你访问一个网站的时候,浏览器默认80端口
- path:查找路径:比如 https://www.jianshu.com/u/f919029c3586 后面的/u/f919029c3586 就是path
- query-string:查询字符串,比如 www.baidu.com/s?wd=python 后面的wd=python就是字符串
- anchor:锚点,一般用来前台定位
http请求方法
http协议中定义有八种请求方法,主要使用两种get和post
- get请求:从服务器获取数据下载,不对服务器产生影响会使用get请求
- post请求:向服务器发送数据(登录)、上传文件等,会对服务器影响使用post
但是不是所有的查询都使用get 有些反爬网站需要改用post来作为请求方法
请求头常见参数
http协议中向服务器发送一个请求,数据分为三部分,第一个是把数据放到URL中,第二是把数据放到body中(post请求中),第三把数据放到head中
- User-Agent :浏览器名词,这个网络爬虫中经常使用,没有定制 User-Agent就是python 对于反爬虫机制的网站就会轻易判断这个请求是爬虫,因此我们要设置这个值来伪装我们的爬虫
- Referer:表明当前这个请求是从哪个Url过来的,这个一般可以用来反爬虫技术,如果不是从指定页面过来的,那么就不会做相应的影响。
- Cookie: http协议是无状态的,也就是同一个人发送了两次请求,服务器没有能力知道这两个请求是否来自同一个人。因此这个适合就用cookie来做标识,一般如果想要做登录后才能访问的网站,那么就需要发送cookie信息了