今天不讲技术,就聊聊天。
我大一的时候学习是没有方向的,就会学的很乱什么都想学比如:python的前端框架、小程序、爬虫、机器学习等等,结果就是什么都没学好白白浪费了一年的时间。到大二的时候我才确定自己的方向是数据分析师,那我就要求我掌握数据爬取、数据清洗、数据存储、数据可视化、数据分析、数据预测(机器学习)这一条龙的能力。
我的计划是:
大二期间掌握数据爬取(达到中级爬虫工程师的能力)、数据可视化;
大三学习机器学习、数据分析的理论知识、针对企业的用人需求具体学习一些数据分析的工具;
大四就滚去工作了
爬虫的成长过程:
初级:可以对付一些没有反爬措施的网站,这类网站用xpath、css选择器就能轻松获取数据,获取完数据总要存起来吧,这就要学数据库了MySQL、MongoDB、redis
要求掌握的库:requests、lxml、selenium、PyQuery、re、pymysql、pymongo
你以为掌握了这些就算初级爬虫工程师了啦,还差得远呢。
掌握了这些你还需要了解Ajax、动态渲染
运用之前的库可以解决没有加密的Ajax,用selenium可以解决动态渲染(只是速度慢了点)。
速度慢就可以学习多线程、多进程、异步最大程度的提升爬取的速度
要求掌握的库:threading、multiprocessing、asyncio、aiohttp、以及支持异步操作的Pyppeteer(和selenium的功能一样)
掌握了这些你就算一个初级爬虫工程师了
过渡期
初级过渡为中级的这个过程很难,首先你要学习JavaScript(要求可以看懂代码,了解一些常见的API)、其次要了解js逆向的过程以及验证码的识别。JavaScript好学资源很多,js逆向的资源就比较少,最好是能找到一款成体系的、干货多的课程,虽然我知道一些课程但是为了避免你们说我打广告我在这里就不说了想知道的话可以私信我
中级:目前我的能力也就是个中级爬虫工程师。这个阶段需要学习一些加密的库,常见的加密方法是AES、RSA,还需要学习一些哈希库
要求掌握的库:Crypto、base64、hashlib
还有一个最让人头疼的就是验证码,解决方法也很简单那就是花钱找打码平台,像我这种穷人家那当然是用不起这方法的,那就只能自己收集数据、标注、训练模型(深度学习)
掌握了这些恭喜你已经是一个合格的中级爬虫工程师了
再之后的就都是大神了,需要结合机器学习的技术进行爬虫
这里可能不够全面,我也就是提供一下大概的方向。