我在千锋Python培训学习也有一个多月的时间了,因为之前就对爬虫比较感兴趣,通过这几天对爬虫简单的学习,感觉爬虫的学习就像前端,入门容易,要想深入还是有一定难度的,下面就说说我对爬虫的简单认识。
因为Python有很多现成的库,如果你稍微了解一点HTML和网络方面的知识,看一下相关库的示例代码,会发现扒拉一个网页到本地多两行代码,其中还有一行是import,这里的两行代码当然不包括解析数据,解析数据已经是后话了,你首先得把数据抓取下来。可能入门抓的网页没有什么反爬虫策略或者抓取数据量小没有触发反爬虫系统,感觉一下就爬到数据了,好像大部分时间都在解析数据,但是我觉得真正难的是抓取,怎么解析完全看自己实际需要。
大部分人接触爬虫一开始都是从基本的静态爬虫开始,即不需要登录就能访问数据,数据基本不是通过动态加载的。而往深层次说,很多数据是需要登录之后才能爬取的,很多数据是通过ajax请求的,那么你需要分析清楚哪个请求/提交了哪些数据,请求/提交的机制是什么,这就要求你对http协议的认识比较深刻。
另一大块就是如何应对服务器端的反爬虫,拿简单的来说,别人的数据希望用户通过浏览器正常访问,而非被“贪心又猥琐”的爬虫来访问,所以服务器端都会想方设法辨别你是正常用户还是爬虫,比如验证码就是一个令人很头疼的问题,特别是一些变态的验证码,比如12306的验证码。此外爬虫爬取的效率也是一个问题,所以爬取数据量大的时候,你不可能仅仅用自己的小笔记本,而要用到分布式爬虫,利用多台计算机来完成任务。
总的来说,通过在千锋Python培训对爬虫知识点的学习,让我对爬虫有了深入的认识,对于数据量大的分布式爬虫这些虽然还没学,但已经很期待下周的课程了,希望自己能在爬虫这块有好的学习和发展。未来需要靠自己的双手去争取,所以接下来我一定会加努力学习的。
相关文章
了解千锋动态
关注千锋教育服务号
扫一扫快速进入
千锋移动端页面
扫码匿名提建议
直达CEO信箱