第一章:爬虫基础-Http协议介绍

直接学习:https://edu.csdn.net/course/play/24756/280651

一、 Http协议介绍:
1、HTTP协议:全称是HyperText Transfer Protocal,中文意思是超文本传输协议,是一种发布和接收HTML(HyperText Marup Language)页面的方法。服务器端口号是80端口。
2、HTTPS协议:是HTTP协议的加密版本,在HTTP下加入了SSL层,服务器端口号是443端口。

二、URL详情:
URL是Uniform Resource Locator的简称,统一资源定位符。一个URL由以下几个部分组成:
scheme:// host: port/path/?query-string=xxx#anchor
scheme:代表的是访问的协议,一般为HTTP或HTTPS或FTP等
host:主机名,域名,比如www.sohu.com
port:端口号。当你访问一个网站的时候,浏览器默认使用80端口。
path:查找路径,比如:www.jianshu.com/trending/now,后面跟的trending/now就是path
query-string:查询字符串,比如:www.baidu.com/s?wd=python,后面的wd=python就是查询字符串。
anchor:锚点,前端用来做页面定位的。现在一些前后端项目中,也用锚点做导航。

在浏览器中请求一个URL,浏览器会对这个URL进行一个编码。除英文字母,数字和部分符号外,其他的全部使用百分号+十六进制码值进行编码。
三、常见的请求method:
在http协议中,定义了八种请求方法。其中get和post请求方法最为常用。
1、get请求:一般情况下,只从服务器获取数据下来,并不会对服务器资源产生任何影响的时候会使用get请求。
2、post请求:向服务发送数据(登陆),上传文件等,会对服务器资源产生影响的时候会使用post请求。
一般情况下会遵循以上原则,特殊情况下某些网站和服务器做了反爬虫机制,有可能应给使用get 方法的请求一定要改成post请求。这个要视情况而定。

四、常见的请求头参数:
在http协议中,向服务器发送一个请求,数据分为三部分,第一个是把数据放在URL里,第二个是把数据放在body里(在post请求中),第三个是把数据放在head中。这里介绍在网络爬虫经常会用到的一些请求头参数。
User-Agent:浏览器名称。
Referer:表明这个请求是从哪个URL过来的。
Cookie:用Cookie做标识,来判断两次请求是否来自同一个人,一般访问的网址需要登录,需要发送cookie信息。

五、常见的响应状态码:
200:请求正常,服务器正常返回数据。
301:永久重定向,比如访问www.jingdong.com时候会重定向到www.jd.com
302:临时重定向,比如访问一个需要登录的页面时,而此时没有登录,那么就会重定向到需要登录的页面。
400:请求的URL在服务器上找不到。
403:服务器拒绝访问,权限不够。
500:服务器内部错误,可能是服务器出bug了。

【为什么学爬虫?】        1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到!        2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站 【课程设计】 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是:网络请求:模拟浏览器的行为从网上抓取数据。数据解析:将请求下来的数据进行过滤,提取我们想要的数据。数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是:爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求!【课程服务】 专属付费社群+定期答疑
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值