欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

学习Python的迷茫,如何高效有趣地学习Python?

程序员文章站 2022-04-11 22:13:17
...
最近开始学习Python语言,学完了《与孩子一起学编程》,看完了官方的tutorial。现在正在看中文版的《Learn Python》,感觉这本书讲的实在是太多了,更像一本参考书,学习的兴趣也降低了,我很想去弄一些网页抓取,抓取数据之类的,可是又觉得基础不够,各位有经验的前辈们请求指教(本人非计算机专业,但是对这方面还是挺感兴趣的,每天大概能抽出2小时左右的时间去学习Python)

回复内容:

兴趣会在一直看书而不实干的时间内被消耗.
想学爬虫又担心基础不够的话, 可以先试着用Scrapy.
按照每天2个小时的进度, 先花1天的时间把文档过一遍.
Scrapy 0.24 文档
鉴于题主是非计算机专业, 也许你还需要了解以下内容:
  1. HTML标签的基础知识,能看懂标签的意义就好
  2. http基础知识, get, post,json这些乱七八糟的名词是什么鬼
以上都可以在w3school 在线教程 这个网站得到基本的了解.
假设以上基础题主已经有了, 可以找豆瓣或者其它一些小站,参照文档开始写个小爬虫
遇到一些需要验证或者Cookie的就先放弃吧, 入门先专注于让爬虫能跑起来, 这也是维持学习兴趣的方法
当你达到可以随心所欲写个爬虫爬数据的地步,可以考虑优化了, 什么防爬, 用户验证, Cookie, 模拟登录, 多线程提高爬取效率之类的...

我一开始就是先对豆瓣下的手, 在第2天的时候写了个小爬虫爬了100多万的书的数据存到数据库里,有了数据却不知道拿来干什么, 感觉没什么意思. (值得一提的是, 豆瓣有个防爬验证, 爬取速度过快会要求你输验证码以判定你不是机器人. 记得把延迟设置一下, 不然你的爬虫会很讨人厌的)

于是打算去爬知乎,听说知乎防爬比较厉害(之前试过被知乎封IP段),于是打算去搞个代理池通过高匿名代理来爬知乎, 在网上找了个代理买了半年的服务, 结果发现提的代理都连不上, 感觉太麻烦了, 干脆自己去爬代理, 期间觉得scrapy对爬代理这种小东西有点杀鸡用牛刀的感觉, 于是自己用pycurl + beatifulsoup写了个简易爬虫来爬, 现在有一些短时间内比较稳定免费代理可以用了, 感觉可以开始爬知乎了. 目前只实现了爬取某人的动态并发邮件到自己的邮箱, 嘛, 就像这位仁兄做的那样
能利用爬虫技术做到哪些很酷很有趣很有用的事情? - 伍新生的回答

以上的经历从开始看文档到现在, 大概花了10天的时间, 期间有大部分时间在查资料.还有考虑先自己写还是用框架等这些无谓的消耗里, 所以别想这么多, 决定一个方向直接走起, 你会发现你觉得好像很难的东西, 在几天后觉得其实没那么困难~ 我寒假学python,只学了10天就开始学着写爬虫。。。一边做一边看书看别人的博客,找源码分析。
在写的过程中就能发现自己缺少什么,需要学习什么,要学到什么程度,以及最为重要的学这个是为了什么,能够做哪些事情。
写过一些简单的爬虫和小脚本之后,开始系统的看书,因为这时候就知道该怎么系统的学习了。
有目标的学习比漫无目的的学习进步要快得多。 了解基本语法之后,开始尝试写东西,写个小游戏之类的,虽然会觉得很难,但比单纯的学要高效的多 鱼C论坛零基础入门学习python视频,里面有教你如何制作一个爬虫爬妹子图片,很有趣。论坛里面也有很多网友编写的小项目可以参考一下。网址bbs.fishc.com
推荐一本书《python基础教程》,书的最后有好几个小项目,实现起来还是非常有趣的。
总之,学习编程语言是为了解决生活中的实际问题,不要为了学而学,莫忘初衷,才能有源源不断的学习动力。基本语法掌握后,调你感兴趣的一块深入研究,比如我就对pygame感兴趣,自己写了个打飞机的游戏。 1、稍微能看英文书籍
2、在浏览器中键入Electronic library. Download books free. Finding boooks
3、输入“with python”并且按回车
4、找到感兴趣的书籍并且单击下载
5、啪啪啪 既然你对抓取网页感兴趣,也学完了一本书和官方的教程,我觉得完全可以学习网页抓取了。不用把它想得那么复杂,我想你有看那本《learn python》的勇气,肯定不是有什么人或者事逼着你要抓取网页,既然是玩,又何必顾虑重重呢?倒是那本书这么厚,等你看完黄花菜都凉了,如果不是为了学习语言本身的话,建议先不要啃它了。而且,网页抓取不只是学好这门python就可以的事,你可能还需要了解一些其他的知识。

本人也是python爱好者,学它纯粹是出于兴趣,偶尔也能在学习中用到它。我学python才几个月,也简单的试过网页抓取,感觉想入门没那么难,只要你英文够好或者勤查字典,对着抓取网页的库的官方文档慢慢学就可以了。推荐你先了解一下这几个相关的库:requests, BeautifulSoup, lxml。然后可以看看scrapy,再之后我就不知道了。

一起进步! 去搞点破坏吧。
已经读完了这么多东西,你就不想去写点什么?
从什么开始呢?
1 爬虫。这个你在知乎上搜一下爬虫就会得到很多有意思的故事,说不定还能得到别人的代码
2 机器人。这里特指chat bot和社交网站bot。比如基于wechat框架和人人api写一个表白墙,比如基于xmpp写一个把icq变成浏览器(顺带*?)的机器人等等等等。在不支持群聊的服务上实现个聊天室之类的,开查询天气公众号,利用聊天室开个dnd(龙与地下城)的服,这些代码架构都不会太大
3 做个网站。被重复发明最多的*就是blog。不吐槽。不过做这个可能需要一点js基础。嗯,“一点”和“基础”也许该去掉,也许不用。
4 fork。在哪个网站看到了哪个不错的小游戏?fork一个出来试试!美工不够的情况下你也可以得到一个很有意思的基础版本的游戏。比如说,做个2048出来呗。
5 kit。小工具也是很不错的选择,同样是2048,写个启发式搜索的2048帮助程序让你判断当前状态哪个方向更有利不是也不错。

嗯?你说这些你都不知道怎么下手?都没学过?
但是,你已经掌握了Python的大半,剩下来的已经不是Python的问题。
你需要学的,是收集信息,比如一个爬虫tutor,在有google的世界里,这是很简单的事,但是在没有Google的世界里,可能需要一点更传统的方法或一个访问Google的方法,哪一个更简单,很难说。
你需要学的,是分析需求,分解它们,再析理它们,使他们只按内在逻辑排列。
你需要学的,是组织代码,这个可能Python能帮到你,看一看pep8会有帮助。
从今以后,书便不再是你的老师,而是你的工具,你会从各种地方学到这些东西,也可能找遍各处都学不到,它们可能在别人的代码里,别人的需求文档里,甚至是你的梦里。
调研,设计,编码,重构,编程就在其中了,也许世界都在其中了。
要继续写下去,功夫已经在诗外了。 Python入门的话,首推《A Byte of Python》,花很短的时间就能看完,并且看完后就可以写一些小东西了。后面在实践的时候可以多上网找些实例参考,多看看Python Manuals,熟悉了就好。 正如二楼所说的,兴趣会在一直看书而不实干的时间内被消耗,想学好一门技术,是需要不断的磨练,而不是只是看看而已,只有从实干中才能找到经验,如果实在不知道如何去进行项目实战,可以看看麦子学院上面的分页器Paginator的使用 这个项目实战,可以慢慢的模仿,然后变成自己的知识。 先看head first python入门,然后照着写个简单的web,接下来就根据自己的研究方向可以深入了。有好的代码记得共享,看着下载量增加会很有成就感:)