Python 入坑一年路漫漫其修远兮_java


小编是学生党一枚,是科班出身。在过去的时间中相信大家都知道 Python 这门编程语言的火热程度,上了无数次热搜,热度还在持续上升,很多人也开始想学习Python,它可以做很多事情,大到航空,小到中学课本,可以做人工智能, Web,数据分析,爬虫,自动化测试,游戏等。

小编在过去的一年中也从零基础学习了 Python 并在爬虫方向探索一些时间,收获了一些学习体会,跟大家分享一下,在给大家入门爬虫一些建议与书籍资料。


一、入门 Python


当初入门,由于比较喜欢纸质书,个人觉得纸质书比较舒服,所以就选择了纸质书,还有一个原因就是纸质书,看完后在以后操作中忘记了某个函数的具体用法可以当字典用来找答案是比较较方便的。下面推荐入门资料:


Python 入坑一年路漫漫其修远兮_java_02


1)这本书是小编入坑的第一本书,当初在网上查资料适合小白入门的书,好多都推荐这一本,于是我也买了。上手后基础语法部分我发现并不适合小白,比如数据类型,变量这一块,代码就直接给出,没解释,要是没其他语言基础,小白可能会有点懵,而且正本书感觉比入门基础难一点,不推荐第一本入门 Python 使用。


Python 入坑一年路漫漫其修远兮_java_03


2)推荐此书作为入门 Python 的书。因为小编用上面的书入门后感觉还是不熟悉基础语法,于是又用此书把基础语法复习了一遍,感觉这本书很适合小白入门使用,通俗易懂。后面还可以带着你一步一步写个外星人游戏出来。


Python 入坑一年路漫漫其修远兮_java_04


3)这是一个视频资料,在中国大学慕课网上可以找到,免费的,如果不喜欢纸质书,可以使用此视频 入门,这个视频的教学标准是以 “计算机二级 Python 程序设计” 来设计入门教学的。


总结:入门基础语法后,还是需要巩固一下的,这时侯需要做点题熟练一下,小编当初就这样巩固的基础语法,当初找了好久才找到一个比较合适的,如下:


https://www.cnblogs.com/niuniu2018/p/8086890.html


里面是 100 道基础练习题,附源码的,可以自己先写,写不出来在看看答案,这时候看答案可能就会遇到某些地方看不懂,比如某个函数出现了,但忘它是干嘛的了,印象中书上也有,这时候就可以很快的找到,印象更深刻了;源码大部分都可以在书上找到知识点,少部分就需要去百度了网上找资料了。


这里说的百度自己解决,独立解决问题很重要,能自己在网上找到解决方案的就别问别人!小编深有体会,当初也是加了几个学习群,群一般没人说话的,偶尔讨论几句不是很重要的,在里面问简单的问题可能偶尔有人心情好鸟你一下,要不然都是石沉大海。不过不要怕,小编一年的经验觉得上网一般都能找到问题的答案,付出的只是时间与耐心罢了,因为有时候可能找几天才找到方案。


在学习时可能会碰到某些问题花了好一些时间后都想不明白,这时就别纠结了,就先跳过吧,先继续先后学,可能在后面学习过程中再回顾突然就茅塞顿开了。我有好多问题都是这样的。


入门基础语法后,就找一个自己感兴趣的方向吧,小编选择的爬虫,不管选择哪个方向也都是在学 Python。


二、入门网络爬虫


可能有些人入门了基础语法后,会有还是感觉好多不会的东西,就想着在多学一点 Python 后再找一个方向继续学习,这种是正常的。


不管是哪个方向,爬虫也好,数据分析也好,我建议不要有这种想法,因为到时候会发现,不懂的没学过的越来越多,而且可能时间久了,有些东西长时间没用过就会忘记。


在入门基础语法后,不要怕还有好多不懂,直接上手爬虫或其他方向,我是直接上手爬虫了,在一年的学习过程中,会发现有些基础是没学到或忘了,遇到了在去学习,或者翻翻书吧,不用刻意去学一大堆可能用不着的,用到了,遇见了在去学也行的。


先来说说学习爬虫的基本路线吧


初级入门:

1、爬虫是什么

2、网页构造(HTML,CSS,JavaScript)

3、requests 库

4、正则表达式

5、bs4 库与 lxml 解析网页库

6、xpath 与 css 选择器

7、API 使用

8、MySQL 与 MongoDB 数据库存储

9、多进程爬虫

10、异步加载(Ajax)

11、表单提交与模拟登录

12、selenium 模拟浏览器

13、初识 Scrapy 框架


中级:

1、代理使用

2、防反爬手段

3、验证码识别

4、cookie 使用

5、抓包,app 爬取


高级:

1、熟悉 Scrapy 框架

2、分布式数据库存储

3、分布式爬取

4、Splash 

5、爬虫部署


以上是小编学了一年的学习路径的感觉,目前卡在中高级位置,都说入门爬虫简单,是的没错,入门后就写个 py 文件是非常简单的,但这可不能叫爬虫,就是一个文件而已,越深入还是越有难度的。


入门书籍:


Python 入坑一年路漫漫其修远兮_java_05


1)这本书是直接概括了网络爬虫技术,很友好,但知识点非常少,只是简单教我们提取简单数据。


Python 入坑一年路漫漫其修远兮_java_06


2)这本书强烈推荐,因为整本书的内容把爬虫入门的点都基本概括了,学完大概知道爬虫是怎么回事了,还有丰富的项目实例。


Python 入坑一年路漫漫其修远兮_java_07Python 入坑一年路漫漫其修远兮_java_08


3)这两本书也是通俗易懂的,也有几个项目实例。


总结:入门以后,自己就可以找个简单的网站爬一爬玩玩了,但别直接一来就搞知乎,拉勾网之类的,它们的反爬有点强的,怕不小心就自闭了哈哈。


还是一样的,能自己解决的就自己搞定,上网的上网,查资料的查资料,实在找不到解决办法,那就找人问吧,前提是找得到人问且人家也愿意告诉你。


在初学的时候小编也是遇到好多代码问题,比如书上的示例代码过期了,是因为对方网站改版,和代码不对应了。这时候可以好好理解一下介绍的知识点(选择器),然后试着自己修改,成功了,就会有种成就感而且更进一步理解了选择器;实在改不了就先读它的代码理解细节吧,说不定那天又突然茅塞顿开了。


在示例中会经常遇见没见过的方法、函数,这时候就百度呗,一般函数,方法网上有很多教程说明的。


进阶书籍:


Python 入坑一年路漫漫其修远兮_java_09


1)这本书是很多人推荐的,小编当初用来后,感觉有点难,适合已经入门一段时间后得使用,越往后越难,知识点比较多,更重要的是示例代码有些过期了,就不能很好的理解某个知识点。这本书介绍了爬虫基本上所需要使用的工具的安装方法,寻找工具的安装方法时很实用。


Python 入坑一年路漫漫其修远兮_java_10Python 入坑一年路漫漫其修远兮_java_11Python 入坑一年路漫漫其修远兮_java_12


2)上面这三本书从上往下说吧。


第一本:进阶,进程,线程等,代码量越来越多,爬虫分模块等;前半部分是能理解的,后半部分涉及到代码过;Scrapy 概念,分布式,分布式数据库;我第一次接触因为示例不可用,导致有点看不懂,但概念倒是了解了。


第二本:这本书的内容是全部 Scrapy 的内容,他的知识概念,基本上涵盖了 Scrapy 所有常用的知识点。我用了这本书后得感受是:Scrapy 理论知识基本上都找得到,可是示例就很散,还有些不能用,导致了还是不会用 Scrapy,但让我对 Scapy 又有了进一步的理解。此书可以当 Scrapy 知识点的字典来使用。


第三本:强烈推荐,它是以项目实例写的,它所有示例基本都可用。有了上面两本书的基础,再用这本书去使用 Scrapy,顿时又理解了一些东西。


总结:在学的过程中,我认为知识点不是最困难的地方,而是书上的示例代码不能用,只是理论就有点懵了,就导致了不知道怎么用。这时候就只能去网上找可以用的示例来进行理解了。


在每一次遇到问题,解决以后,我们可以简单记录一下是怎么解决的,下次再遇到就不会那么头疼了,小编就是用 CSDN 当笔记本哈哈,电子的不易丢失修改方便,小编就在上面记录了每次遇到问题的解决方案,写博客不一定要你写长篇大论的文章,可以是记录你遇到的问题(安装软件,资源,代理等),当然写的你自己要看得懂哈。


最后给大家附上我从入门使用的源码和我自己的项目,但不保证都还可以用,百度云链接:


入门爬虫源码:

https://pan.baidu.com/s/19lmctuKFILUoDaqgxKw1GA 

提取码:rjjj 


Scrapy 框架入门源码:

https://pan.baidu.com/s/1TznUsB59RwqW3X1QYmfxAQ 

提取码:o3f3 


我的项目源码:

https://pan.baidu.com/s/1DjNwFErm5gKVQkSEeH2ayA 

提取码:t2z3