python学习爬虫,不会前端和全栈可以吗?为何?

印度行万里归来颜愈少


学习Python,不是前端也不是全栈没有关系的。Python这门技术属于独自一门技术,前端是了解网站的布暑与设计,而全栈工程师属于全部体系都学习了,全栈工程师属于全部体系都能学习到。


水晶栈说科技


全栈只是个概念 也分很多种类 真正的全栈工程师涵盖了web开发 DBA 爬虫 测试 运维,要学的内容那是相当的巨量。就web开发方向而言需要学习的内容:前端知识 包括HTML5 CSS3 JS Jquery Ajax,后端至少需要能够熟练使用 Django和tornado 当然会flask更好

Python全栈工程师是比较受欢迎的一类人才,本身Python语言具备全端开发的能力,所以Python的全栈工程师也比较多。

对于Python全栈工程师来说,需要掌握以下知识结构:

第一,Python语言基本语法。Python语言的基本语法掌握起来并不困难,甚至可以说非常简单,因为Python是脚本语言,所以语法也比较直接

第二,Python做Web开发。

Python是Web开发的传统三大解决方案之一(还包括Java和PHP),Web开发是全栈工程师必须掌握的内容。用Python做Web开发需要学习对应的框架,比如Django。

第三,Python做数据分析。Python做数据分析是一个比较常见的应用场景,Python做数据分析需要学习对应的算法以及实现过程。会使用到的库包括Numpy、matplotlib等。

第四,Python做爬虫。Python做爬虫应用是一个非常常见的应用,有大量的案例可以参考。

第五,Python做机器学习类应用。Python目前在机器学习领域(人工智能相关)的应用非常普遍,所以对于Python全栈工程师来说,掌握机器学习相关的内容也是有必要的。需要掌握的算法包括决策树、朴素贝叶斯、回归、kNN分类等,同时需要掌握基本的线性代数和概率论相关知识。

当然python也有它的不足之处,就是慢,比C、C++、java都慢,这一点是限制它的一点,因为在不少领域对语言的运行速度都有极致的要求,你比如说导弹拦截程序,分秒必争,显然python在第一步就会被pass掉。但是对于其它领域,你比如说桥梁参数的运算,我相信20分钟和18分钟它差不了多少。第二点就站在功利的角度来谈了,就是目前计算机等级考试中没有python这个选项,当然我相信10年之后,或许是5年,我们就可以拿到python的计算机等级证书啦。


路西法李


很高兴回答你的问题。要回答这个问题,我们首先我们得先明白另外一个问题。

什么是全栈工程师?

广义上的全栈工程师包括的是大前端(Web、App等)、后端(视技术栈而定的Java、php等)、运维,集整个常见工种于一体的工种。

但是发展到了现在,很多人把会Web前端和后端的人员称为全栈,其实我更愿意称之为「伪全栈」。

弄懂了全栈的含义其实就不会存在题中的「前端和全栈」这种叫法了。

然后我们再来说说学习python爬虫需要学习写什么了。情况得分为两种来讨论。

一、有一定开发基础的学习人员

如果你已经有了一定的开发基础。你需要学习以下知识。

  1. python:你想要学习python爬虫,你首先得会python。python爬虫,只是python应用的一个分支。

  2. 数据库:爬虫抓取下来的东西,总得有地方存储吧,存储就得用到数据库。

  3. 前端:包括html、css、js等。爬虫分为直接爬取页面、爬取接口、使用仿浏览器库进行爬取。无论哪种方法,都是从前端出发,需要了解你爬取的数据从哪儿来,展示在哪儿。这些都需要用到前端知识,所以前端是一个绕不去的坎儿。

  4. 各种反爬知识:<strong>现在各大网站都采取了各种各样的反爬机制。包括但不仅限于IP访问次数限制、自定义加密自己、验证码、Cookie验证等等。反爬策略一直在升级,可能你今天写的爬虫,明天网站就升级反爬策略了,所以一个爬虫需要不断的投入精力进行维护、升级。

二、零基础的学习人员

针对零基础的学习人员,除了和有开发基础的学习人员学习的一样以外,还需要学习计算机编程的通用知识。包括但不仅限于:计算机网络、数据结构、算法等。


Java面典


首先要明确一点,python只不过是一个工具,学会了使用工具不代表你就能找到工作,要有用工具处理问题的能力才符合工作需求!就像爬虫工程师,java也能实现,想要靠你学的python找到工作,实践经验才是加分项!

回到问题,针对python的面试一般会涉及到下面几个部分:

一、python基础知识

爬虫给人的感觉就是对于Python编程的知识要求并不高,确实,搞懂基本数据结构、语句,会写写函数好 像就OK了。

自己业余玩玩还OK,如果你要找工作成功爬虫工程师,扎实的编程基础是必不可少的。除了基本的函数,Python的高级特性、面向对象编程、多线程、装饰器都要熟悉。

现在很多爬虫工程师的面试,对编程的基本功要求很高。编程的功底,以及对语言的理解,从某种程度上可以看出你的学习能力、发展潜力。 比如: Python2.x与Python3.x的区别 Python的装饰器 Python的异步 Python的一些常用内置库、多线程......

二、数据结构与算法

数据结构与算法是对面试者尤其是校招生面试的一个很重要的点,小公司可能不太在意。 从目前的招聘情况来看:重视数据结构与算法的重视程度与企业的好坏成正比。

三、Python爬虫

会爬虫和爬虫厉害是两码事,你要有Python爬虫相关的知识与经验储备,这通常也是面试官考察的重点。

包括但不限于: 你用过多线程和异步吗?除此之外你还用过什么方法来提高爬虫效率? 有没有做过增量式抓取? 对Python爬虫框架是否有了解?

一般来说,你需要掌握的技术有下面几个:

HTTP必须要有很深刻的理解,这是你纵横网络的立身之本;

BeautifulSoup、xpath这些都是基础操作了,一定要做到非常熟练;

Scrapy框架要会用,要能信手捏来写个分布式爬虫;

Webdriver、Selenium、PhantomJS也要会使用;

四、爬虫相关的项目经验

爬虫重在实践,除了理论知识之外,面试官更在乎: 你做过哪些爬虫项目?如果有Github最好 你认为你做的最好的爬虫项目是哪个?其中解决了什么难题?有什么特别之处? 以上是我在面试过程中,会碰到的一些技术相关的问题的总结,当然面试中不光是技术这一点,但是对于做技术的,过了技术面基本上就是薪资问题了。

五、面试经

初级:

网络基础:cookie,session,https,h


两个苹果的世界


你好,Python爬虫与前端后端都有一定的知识相关。但是不必专门去学习这方面内容。

Python爬虫可以直接通过读两本相关书籍就开始上手了。

一般爬虫会涉及到,数据采集,数据清洗,数据存储,数据展示等。

如果说涉及前端部分的内容就是数据展示部分。将你爬去的数据进行展示在网页中让人直观的看,但是在Python中会有相同的库作为替换,所以你可以不用学习前端知识也能完成这个目的。

如果说涉及后端部分的内容就是数据的存储,把你当爬虫数据存储到数据库中。这一步,你也可以有替代方案,把数据存储在txt文件中,excel文件中都是可以的。这样你就不用花费时间专研数据库等后端知识。

最后,数据采集部分,会涉及一些网络知识,但是由于现在的Python第三方库已经很成熟,你很多只要查看文档理解如何用即可,初期不用探究底层原理。也能够完成你的数据采集工作。

数据清洗,就是通过Python变成语言来进行操作,找到你需要的内容,这部分就是主要你来完成和学习的编程内容了。


链求君


我认为是需要学习的,做爬虫除了需要了解 python 自身的基础,还需要了解 HTTP 的基础知识,对全栈的了解是跑不了的。我们从静态页面的抓取到动态生成内容的抓取,web 前端全家桶(尤其是 DOM)也是需要的。此外需不需进一步控制浏览器呢,selenium,CDP (Chrome Devtools Protocol) 各路神仙一招呼,这些更是 web 前端和 HTTP 和网络的深度结合。


砖加号


python语言比较容易上手,有编程基础知识就可以了,要相信自己 努力下是可以的 加油


ITIL之家


爬虫它本质就是利用程序模拟各种网络请求然后获取网页里面的信息。所以如果看不懂网页源码是无法做好一个爬虫的。建议学一点点前端,做到能看懂前端网页源码即可。不用深学前端。Python这块不要造轮子,可以用许多爬虫包。网上有很多博客,可以找一个博客然后实践。不动手肯定会觉得非常难,事实上动手做一个爬虫后就会知道并不难。


分享到:


相關文章: