前言
最近微信后台有不少问题,前几天我也在微信群中给大家说在学习 Python 过程中遇到什么问题可以私信我,我会找个时间给大家做一个统一的回复。当然了,别给我甩一堆报错什么的,我哪有那个时间给你 debug 啊。
在这些问题中,我把一些问的比较多的,大家比较关心的问题答复一下吧,希望对你有帮助。
如何快速入门 Python ?
我之前给大家说过,速成一门技能是不可能的,你需要花很多时间才能真正的掌握一门技能,但是快速入门是有可能的,而且也是必要的,你需要掌握最少且最必要的知识点,先进门再说。
其实编程,都有最基础的知识点,而且这些知识点都是共通的,什么意思?就是如果知道了这些知识点,那么你学习其他编程语言的时候,会很快就上手。这是因为编程有最少且最必要的知识。
回到 Python 来, Python 的最少且最必要的知识点是什么呢?其实我之前分享过的 今日份的 Python 基础清单 这里面就是 Python 的最少且最必要的知识点:
你一开始应该先去学习这些内容,而不是一开始就学什么计算机原理,计算机网络,数据结构与算法,这些重要吗?重要!但不是你现在该干的事情,你需要先入门,先进来,先看看在 Python 的世界里,可以做什么事情,什么是你的兴趣,接着再深入研究。
Python目前的就业领域有哪些 ?
据我最近的观察,Python 目前的就业领域主要有这么几个:
web开发
对于一些网站的开发,诸如后台管理系统,或者一些微服务,写一些接口,都可以使用 Python 实现。
数据采集(爬虫)
这个可能是你们比较关心的,爬虫相关问题后面还会多说一些,网络上有大量的数据,可是数据量太多太杂,如何获取到想要的数据,就需要数据采集了,而 Python 是最适合做爬虫的语言,你懂的。
数据分析
主要是对数据进行分析、预判,从而做出选择或者对过去的复盘, Python 拥有非常成熟的数据分析库,有些人会有疑问,爬虫不也得数据分析么?咋就分开来说?其实爬虫只是数据分析的一种手段,数据来源不一定是通过爬虫获得,其它的数据也可以做分析。
人工智能/机器学习
这个相对难度高一些,需要掌握一定的算法,对识别技术,自动化技术,深度学习,自然语言处理等方面都得有一定的研究,当然,工资相对较高。
Python爬虫入门应该学习什么?
应该对计算机网络有一定的了解,能知道 HTTP 请求的一些规则,知道什么是 Header ,cookies,知道 HTTP 一些状态码都代表啥意思。
会使用抓包工具,对一些请求的规则进行分析,知道通过什么样的请求方式才能获取到你要的数据。然后学习使用 requests 库进行网络请求。
接着学习一些 Python 的解析库,你得到的数据各式各样,有 json 的,有 xml 的, 有 html 的,你要会(正则)解析获取关键的数据。常见的库有 xpath、pyquery、beautifulSoup、 json、 xml.sax、 re 等。
接着就是数据存储,对一些常用的 sql 语句要会,常用的数据库有 MySQL、MongoDB。
一句话,把我写的 Python 爬虫教程看了并自己实现好就是了。
Python爬虫如何进阶?
假设你已经对一些普通的网站的爬取游刃有余了,那么接下来就可以学学在手机端上爬取数据,如 Fiddler 抓取 APP 的一些数据请求, appnium 的使用。
接着学习如何对于一些加密的数据进行破解,例如一些网站上的关键数据使用 css 的属性进行加密,使得你在 html 里面拿不到关键数据。那么你就需要学会 css 相关的内容,研究网站对 css 的设置,例如偏移量,然后再根据规则使用 Python 重新合成。
还有一些动态的网页使用 JS 进行渲染,除了用性能较低的 selenium 之外,你还要会知道如何去破解 JS 的加密,那么你就得知道如何抓包,如何使用浏览器的开发者工具,怎么去设置断点,从而找到 JS 的加密函数,再使用 python 的 js 库来执行得到原始的数据。
当然,还有一些更有难度的,比如 apk 的反编译,如何在 apk 的反编译中获取到数据等。
再进一步,要知道如何进行异步爬取数据了,使用多线程多进程来提高爬取效率以及分布式爬虫的部署相关操作。
接着,就要考虑如何 url 去重爬取,如何做到断点续爬,比如说你的爬虫爬着爬着突然就傻逼了,或者断网了,这个时候不可能说从头开始爬起吧。之前也有人问如何做断点续爬,这里就提供一个思路吧,你可以使用 redis 构建一个 urlpool ,在这个 pool 里面对请求的 url 做标识,可以使用消息队列,在爬取成功的时候通知 urlpool 里的 url 标识状态,在请求 url 之前通过 urlpool 判断这个 url 是否爬取了。
再来就是爬虫框架了,比如现在的 scrapy 框架,值得好好研究一波的。
最后说一句,还是多实践,毕竟实践出真知,多在实践过程中总结问题和经验,也是进阶过程中所需的道路。
Python爬虫学到什么程度可以找到工作?
满足以上 3 、4 点就很大机会可以找到工作了,当然,不同公司所需不同,有些公司对于初级爬虫工程师的要求也没那么高,只要你懂一些爬虫库的操作,能爬到数据,之前有一定的爬虫项目实战经验就可以了。所以别太担心,盘它就完事了。
什么样的数据不要去爬取?
隐私的数据
比如某某网站的一些个人隐私用户信息数据。
需要付费的数据
比如知识星球,得到这些付费平台的数据。
非公开的数据
别人系统里面自己的数据,并没有公开在互联网上。
网站明确声明不能爬取的数据。
如 robot.txt 中的声明。
如何自学高效?
之前说过一些:
如何自学 Python 高效一些
如何通过 python 赚钱?
接单
爬虫的单子相对其他的一些 web 开发会爽一些,没有那么繁琐,爬完数据就能换钱。具体费用看工作量而定,印象中我接的爬虫单子也就两三单,主要没什么时间去搞,所以没赚什么钱。
做网站
根据你自己的兴趣或者优势去做一个网站,但这个不会及时满足,也就是说你得花比较长的时间去经营,等你的网站有一定的流量之后,可以嵌入广告联盟的广告,从而赚取广告费。
开发有用的工具
如果你能找到别人的一些痛点,开发出满足用户的工具,从而让用户购买使用。这种方式没有边际成本,只要你开发出来了,多一个用户就是多一份钱,躺着赚。
做公众号
像帅b我一样,写写 python 的教程,当然你得要坚持,并且一开始要忍受很久写了没什么人看的痛,还要学会更多的东西,当然我的骚操作,你是学不来的哈哈,我要说的是比如产品、运营、写作…这些。
当你公众号有了一定的阅读量之后就可以接广告赚点小钱了。当然了,文章底部的广告被点击也可以赚到钱,赞赏也可以,但是这两个真的赚不到什么钱的,赞赏更多的对作者的一种认可支持,底部广告点一下也就几毛钱到 1 块钱左右。
帅b老仙,法力无边?
这是 b 友给我起的,你觉得我有法力,那就是有法力哈。好了,以上就是我最近被频繁问到的一些问题以及我的答复,希望对你有帮助吧,觉得不错的话点个在看,以后有机会再给大家分享一些经验,那么我们下回见咯,peace。
欢迎关注公众号:学习python的正确姿势,微信搜索 fxxkpython 就可以搜到啦!