爬虫00-给刚接触编程的童鞋的一点小建议(代码片段)

yk坤帝 yk坤帝     2022-12-20     715

关键词:

个人公众号 yk 坤帝
获取更多学习资料,学习建议

我们刚去接触一个新的领域的时候,绝大多数人都会有很多疑惑,毕竟天才只占极小的一部分。

我们遇到问题的时候,不假思索,第一惯性就是去寻求周边人的帮助,毕竟这是最省时省事的方式。

但这样只会让我们养成依赖,对于这里面蕴含的知识是否真正理解,其实应该打个问号。

python之禅中有这么一句话,“做也许好过不做,但不假思索就动手还不如不做。”

在编程的学习过程中,重点关注的应该是推导的过程,而不是结果。

拿到一个问题,不要着急去编写代码,首先应该尽可能地去明确问题的逻辑,之后再开始编写代码。

当这个问题的整体逻辑对你来说,有点复杂的时候,你应该尽可能去梳理自己能够明白的那部分逻辑,用代码去实现出来。

如果你发现思路是正确的,但是代码运行却报错了,该怎么办?

编程就是在不停地写bug,然后不停地解决bug,**对于这些报错,我们应该要能读懂,**因为以后你会频繁地遇见这种错误。

起初,我们肯定看不懂这些错误是什么意思,又是由什么引起的,这时候,我们可以借助百度或者翻译软件去解读这些错误。

**将报错信息复制到百度上,**你能发现有一连串的网页都指向这个错误。

要知道我们遇见的绝大多数问题,前人也都遇到过,网络上也基本会有相应的解答,往往还会伴随着错误的原因以及要注意的方向,这将是我们迈向自主解决问题的第一步。

通过自己搜索也好,摸索也罢,完美地解决了一个问题,带来的不仅仅是对知识理解的深入,还有满满的成就感。

对于那些不理解的,没有一点思路的部分,我们可以去寻求助教的帮助,但在这之前,一定要保证自己认真思考过。

而且要知道我们发起提问的目的是什么,是要理解问题的推导思路,理解为什么要这么做,而不是只要一个结果,这样的结果并没有意义。

既然知道了提问的目的,那就应该有针对性地去进行提问,一个优质的问题应该包含哪些方面呢。

	1. 提供自己编写的代码和错误提示信息,简单说一下自己对错误的理解(也许在说的过程中你就已经明白了错误的原因)。
	2. 告诉助教自己的思路是什么(这样助教能告诉你思路正不正确),哪个地方没有想明白。

那么,当我们得到了这个问题的答案之后就结束了吗?

并没有。问一问自己,当再次遇到类似的问题,自己能够解决吗,自己又是否真正理解了错误的原因?

只有深刻理解了问题的推导过程,明白这个地方为什么要这样写,那个地方为什么要那样写,才算结束。

如果你还想更进一步,要考虑的是当前问题是否有更加方便的解法?是否有更加灵活的写法?

我老师当年告诉过我一句话,至今记忆颇深。编程不应该仅仅追求功能的实现,而应该追求优质代码的编写。

同一个问题,可以有多种代码的写法,有的复杂,有的简单,有的性能高,有的性能低。我们应该追求简单且性能高的写法,这要求我们对知识深刻理解,并且能够灵活应用。

会有一些程序员工作一两年之后,觉得编程很无聊,来来去去就是编写那些代码,因为他们只是单纯地实现功能,而并没有去追求更优质的写法。

我的老师告诉我,他接触了很多门语言,其中最喜欢python,因为他总能在python中发现一些小惊喜。

总而言之,python是一门非常灵活的语言,有很多小技巧可以更好地去实现我们的需求,这些都有待我们自己去发掘。

最后,我们学习编程,目的是为了应用它去实际地解决问题,而不应该只是一味地学习。

我们用python来实现我们想实现的需求,得到的成就感是无法想象的。

愿大家都能在python之路上走得越来越远。

Python爬虫的优势

1PHP:
虽然是世界上最好的语言,但是天生不是干爬虫的命,
php对多线程,异步支持不足,并发不足,爬虫是工具性程序,对速度和效率要求较高。
2Java:
生态圈完善,是PYthon最大的对手,但是java本身很笨重,代码量大,
重构成本比较高,任何修改都会导致大量的代码的变动.最要命的是爬虫需要经常修改部分代码
3#爬虫 ‐> 反爬 ‐> 反反爬 ‐> 反反反爬 …

6C/C++:
运行效率和性能几乎最强,但是学习成本非常高,代码成型较慢,
能用C/C++写爬虫,说明能力很强,但不是最正确的选择.
7# JS:
DOM,事件,Ajax9Python: 语法优美,代码简洁,开发效率高三方模块多,调用其他接口也方便,有强大的爬虫Scrapy,
以及成熟高效的scrapy‐redis分布策略

Python爬虫需要掌握什么

1Python基础语法
2HTML基础
3如何抓取页面:
4HTTP请求处理,urllib处理后的请求可以模拟浏览器发送请求,获取服务器响应文件
5解析服务器响应的内容:
6re,xpath,BeautifulSoup4,jsonpath,pyquery
7目的是使用某种描述性语法来提取匹配规则的数据9如何采取动态html,验证码处理:
10 通用的动态页面采集,
Selenium+PhantomJs(无界面浏览器),模拟真实浏览器加载js,ajax等非静态页面数据
11Scrapy框架
12国内常见的框架Scrapy,Pyspider
13高定制性高性能(异步网络框架twisted),所以数据下载速度非常快,提供了数据存储,数据下载,提取规则等组件
14(异步网络框架twisted类似tornado(和Django,Flask相比的优势是高并发,性能较强的服务器框架

个人公众号 yk 坤帝
获取更多学习资料,学习建议

给刚入学伙伴们的一点小建议

一、自我介绍我是一位双非大三的普通科班学生,没有优秀的竞赛经历,也没有丰富的实习经验。借着一位朋友提供的征文机会,简单分享一下我给新学期刚入学的学弟学妹们的建议。二、新学期建议制定学习目标对... 查看详情

给刚入学伙伴们的一点小建议

一、自我介绍我是一位双非大三的普通科班学生,没有优秀的竞赛经历,也没有丰富的实习经验。借着一位朋友提供的征文机会,简单分享一下我给新学期刚入学的学弟学妹们的建议。二、新学期建议制定学习目标对... 查看详情

提高代码可读性的一点小建议

3.UI工厂类与代码块UI工厂类: 其实代码很简单,就是把对Label,Button等控件的属性赋值封装一下,做到一行代码就能创建一个VIew,如下图,虽然这一句代码有点长,但是习惯之后写个View是真心快UI工厂类.h 查看详情

看视频学编程的一点小建议

大家好,我是程序员吴师兄。我是一个挺怕麻烦的人,同时某些时刻也急于求成,这个性格造就了我工作后很难沉下心来看书学习,而程序员又是一个需要不断学习才能不落后的职业,所以我选择了一个十分... 查看详情

看视频学编程的一点小建议

...由于时间的限制,录制视频的人往往无法复刻所有的编程过程,有的时候甚至裁剪,造成了一个需要两个小时的编码时间,视频里面只有十几分钟,一切都是那么的行云流水,一切都是那么的顺其自然࿰... 查看详情

在java中记录日志的十个小建议(代码片段)

...的多。延时和速度是任何电子交易平台或是股票交易平台的一 查看详情

十条改进代码性能小建议(代码片段)

一,避免在循环条件中使用复杂的表达式在循环中,循环条件会被反复计算,如果不使用复杂表达式而使循环条件值不变的化,程序会运行的更快 importjava.util.List;publicclassforeachvoidmethod(Listlist)for(inti=0;i<list.size();i++)System.out.... 查看详情

juc并发编程--wait和sleep的区别&加锁对象的小建议&waitnotify的正确姿势&虚假唤醒(代码片段)

1.wait和sleep的区别sleep是Thread方法,而wait是Object的方法sleep不需要强制和synchronized配合使用,但wait需要和synchronized一起用(只有获取到了锁才可以调用wait方法)。sleep在睡眠的同时,不会释放对象锁的,但w... 查看详情

2021-06-02hive课后实验5(一些小建议)(代码片段)

把课后实验写了一下,总结一下自己遇到的问题及解决方法。安装完hive后操作遇到错误可以参考一下启动hive遇到这个的话一般没啥大问题,忽略)创建数据库:createdatabaseifnotexistshive;这句代码可以理解为这样ÿ... 查看详情

「?八点工作中的小建议」?写出我心(七十二)

?八点工作中的小建议首发 |微信公众号「编程随想曲」1.时刻清楚本职工作的关键问题;2.不断积累所在领域的专业知识;3.定期与相关同事请教知识和工作心得;4.主动承担责任边界不明确,但必须做的事;5.与同事沟通时少... 查看详情

新学期的一些安排|以及一些小建议

大家好,我是K同学啊!不知不觉中,新的一学期又开始了,是不是还有点意犹未尽呢抱歉,开学了!Ta们都已经开始“卷”了!今天和大家分享一下我的新学期计划(立flag)主要还是围绕《深... 查看详情

2021-06-02hive课后实验5(一些小建议)(代码片段)

把课后实验写了一下,总结一下自己遇到的问题及解决方法。安装完hive后操作遇到错误可以参考一下启动hive遇到这个的话一般没啥大问题,忽略)创建数据库:createdatabaseifnotexistshive;这句代码可以理解为这样ÿ... 查看详情

aop和castle的一些小建议

 https://www.cnblogs.com/zhaogaojian/p/8360363.html 查看详情

日常管理的五条小建议

...自己一些喘息的机会,停下来。思考一会儿。这里有一些小建议,能够帮助你处理好日常管理工作。计划并安排一对一会谈。做管理意味着你要分神去处理人的问题:与人单独谈话。并在过程中给予指导和反馈。或者教他们如何... 查看详情

给初入职场的码农的一些小建议

 1)请热爱你的工作,用认真的态度去做好每一件小事。2)三人行必有我师,多向你身边的人请教学习,对待技术要诚实,不会就一定要有“不要脸”的精神去问清楚,搞明白。3)高效工作。如果是技术不够熟练,就多投入... 查看详情

给java初学者的十条小建议,快来收藏吧

...,回想一下今天都学到了什么?今天自己有进步一点点吗?2、多做练习,多写代码,从错误中学习看技术书籍要多写书中的代码,在初学阶段哪怕对着书本敲也没有什么问题。认真完成书中留的习题,... 查看详情

c++编程规范总结——对美感的追求(代码片段)

本文目录一、版权&版本声明二、头文件的结构三、缩进四、空行五、对齐六、命名规则七、语法比较规范八、参数规范九、函数功能设计十、注释十、其他一些小建议总结一、版权&版本声明版权声明可以按照以下格式说... 查看详情

几个提高编码能力的小建议!

...近有几个朋友问道,大概是什么时候开始觉得自己的编程能力或者是产品设计能力有了显著提升的?当时我给他们的回答是:参加工作的第一个项目,完完整整做完后感觉提升得非常快,并且从那以后技术路线也会... 查看详情