大专毕业半路学python爬虫,学到什么程度可以去找工作了(代码片段)

程序员朱鹏 程序员朱鹏     2022-12-14     305

关键词:

首先要明确一点,python只不过是一个工具,学会了使用工具不代表你就能找到工作,要有用工具处理问题的能力才符合工作需求。

就像爬虫工程师,java也能实现,想要靠你学的python找到工作,实践经验才是加分项!

从招聘网站整理的爬虫工程师需要达到的要求:

【初级爬虫工程师】
① web 前端的知识: HTML、CSS、JavaSc1ipt、 DOM、 DHTML 、Ajax、jQuery、json 等;
② 正则表达式:能提取正常一般网页中想要的信息,比如某些特殊的文字, 链接信息, 知道什么是懒惰, 什么是贪婪型的正则;
③ 会使用 XPath 等获取一些DOM 结构中的节点信息;
④ 知道什么是深度优先, 广度优先的抓取算法, 及实践中的使用规则;
⑤ 能分析简单网站的结构, 会使用urllib或requests 库进行简单的数据抓取。
【中级爬虫工程师】
① 了解什么是HASH,会简单地使用MD5,SHA1等算法对数据进行HASH一遍存储
② 熟悉HTTP,HTTPS协议的基础知识,了解GET,POST方法,了解HTTP头中的信息,包括返回状态码,编码,user-agent,cookie,session等
③ 能设置user-agent进行数据爬取,设置代理等
④ 知道什么是Request,什么是response,会使用Fiddler等工具抓取及分析简单地网络数据包;
⑤ 对于动态爬虫,要学会分析ajax请求,模拟制造post数据包请求,抓取客户端session等信息,对于一些简单的网站,能够通过模拟数据包进行自动登录。
⑥ 对于一些难搞定的网站学会使用phantomjs+selenium抓取一些动态网页信息
⑦ 并发下载,通过并行下载加速数据爬取;多线程的使用。
【高级爬虫工程师】
① 能够使用Tesseract,百度AI,HOG+SVM,CNN等库进行验证码识别。
② 能使用数据挖掘技术,分类算法等避免死链。
③ 会使用常用的数据库进行数据存储,查询。比如mongoDB,redis;学习如何通过缓存避免重复下载的问题。
④ 能够使用机器学习的技术动态调整爬虫的爬取策略,从而避免被禁IP封禁等。
⑤ 能使用一些开源框架scrapy,scrapy-redis等分布式爬虫,能部署掌控分布式爬虫进行大规模数据爬取。

爬虫技能掌握简要对照:

【初级】
1)Python语言基础

2)相关的请求库
urllib、requests、selenium(动态网页用得上)

3)相关的解析库
BeautifulSoup、XPath、PyQuery、Re正则表达式

4)相关的数据库
MySQL、MongoDB
【中级】
1)Ajax(能通过Ajax接口获取数据)

2)了解基本的 Javascript

3)Puppeteer(基于JS的爬虫框架,可直接执行JS)

4)Pyppeteer(需要python异步知识)

5)多任务基础 & 爬虫提速
多进程、多线程、协程

6)抓取工具
fiddler、Charles、chrome、firefox

7)自动化爬取(爬App)
adb工具、Appium

8)Splash(动态渲染页面的抓取)

9)mitmproxy(中间人代理工具)
【高级】
1)爬虫框架
Scrapy、Pyspider

2)消息队列相关
RabbitMQ、Celery、Kafka

3)Redis 数据库

4)Scrapy
Redis(scrapy的redis组件)、Redis-BloomFilter(scrapy的布隆过滤器)、Cluster(分布式爬虫框架)

5)应对反爬的技术
验证码破解、IP代理池、用户行为管理
分流技术:cookies池、token池、sign池

【更高一级】
JS逆向、App逆向、运维、智能化爬虫
回到问题,针对python爬虫的面试一般会涉及到以下几个部分:

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

1、基本的编码基础Python

基础的数据结构你得会吧,数据名字和值得对应(字典),对一些url进行处理(列表)等等,爬虫给人的感觉好像对Python编程的知识要求并不高,确实,搞懂基本数据结构、语句,会写写函数好像就OK了,自己业余玩玩还行。

如果要找工作面试爬虫工程师,这远远不够,不要小瞧了爬虫工程师对编程基本功的要求,编程基本功要扎实。除了基本的函数,Python的高级特性、面向对象编程、多线程、装饰器都要熟悉。

编程的功底,以及对语言的理解,从某种程度上可以看出学习能力和发展潜力。

2、HTTP知识

必备技能,要爬的是网页,所以必须要了解网页。

首先html文档的解析方法要懂,比如子节点父节点,属性这些。我们最终看到的网页是被浏览器处理了的,原始的网页是由很多标签组成的。

处理最好使用html的解析器,如果自己用正则匹配的话坑会很多,我个人xpath用得多,跨语言,表达比较好,但是呢也有缺点,正则、逻辑判断有点别扭。

HTTP协议要理解;HTTP协议本身是无状态的,那么“登录”是怎么实现的?这就要求去了解一下session和cookies了。

GET方法和POST方法的区别;

3、浏览器要熟练

爬虫的过程其实是模拟人类去浏览器数据的过程,所以浏览器是怎么访问一个网站的,要学会去观察。

Chrome的Developer Tools提供了访问网站的一切信息;

从traffic可以看到所有发出去的请求,copy as curl功能可以给你生成和浏览器请求完全一致的curl请求!我写一个爬虫的一般流程是这样的,先用浏览器访问,然后copy as curl看看有哪些header,cookies,然后用代码模拟出来这个请求,最后处理请求的结果保存下来。

4、数据库

这个就不用多讲了,数据保存肯定会要用到数据库的。有些时候一些小数据也可以保存成json或者csv等。

推荐使用NoSQL的数据库,比如mongodb,因为爬虫抓到的数据一般是都字段-值得对应,有些字段有的网站有有的网站没有,mongo在这方面比较灵活,况且爬虫爬到的数据关系非常非常弱,很少会用到表与表的关系。

5、爬虫与反爬

这是一个不断较量的过程,就像攻击武器与防御武器一样,双方总是在不断升级。

Python学习详细路线

基础阶段视频



趣味十足的Python进阶教程
学习完上面的基础视频后,绝大部分仍是一种蒙蔽的状态,没有关系,我也同步学习了下面这套教程。

在我学习python之前,一度以为这是非常枯燥的事情,但直到我遇到这个老师的课,我才知道,原来编程可以如此有趣。

每一节课以实际案例来作为课程内容,再加上老师幽默风趣的教学风格,相信你的学习过程会趣味十足。


项目实战教学

当我上面的课程都看完了,就来做一些项目实战锻炼一下吧。学了知识,就要用,通过实际案例,会更深入地掌握这些知识。


Python就业班

如果你希望将来能找到一份高薪程序员的工作,那么这部分资料不容错过哦~



精选Python书籍

书中自有黄金屋,书中自有颜如玉,Python学习的相关书籍,想要系统学习编程的同学可以看一看。

由于篇幅原因,这里就不一一展开了,朋友们如果有需要全套《python从入门到精通》教程,点赞+评论入门即可,我都会回复的!

最后几点小Tip

① 尽量拓展自己爬虫技术的深度和广度

  • 深度就是类似反反爬、加密破解、验证登录等技术
  • 广度就是分布式、云计算等等,这都是加分项

② 前端部分的掌握,尤其是最常用的 js、ajax、html/xhtml、css 等相关技术,懂前端技术的爬虫工程师会有一定的优势

③ 爬虫,不是抓取到数据就完事了,还需要数据抽取、清洗、消重等方面的经验。

④ 一般公司都会有自己的爬虫系统,维护爬虫系统也是日常工作之一。

⑤ 随着手持设备的市场占比越来越高,app 的数据采集、抓包工具的熟练使用会越来越重要。

起薪2万的爬虫工程师,python需要学到什么程度才可以就业?

...?今天我们来看看3位前辈的回答。1、前段时间快要毕业,而我又不想找自己的老本行Java开发了,所以面了很多Python爬虫岗位。因为我在南京上学,所以我一开始只是在南京投了简历 查看详情

it行业老程序员的经验之谈:爬虫学到什么程度可以找到工作?

 什么是爬虫?百度百科:网络爬虫(又被称为网页,网络机器人,在社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取信息的程序或者脚本。最近很多朋友问我,学习爬虫,学到什么程度可以去找... 查看详情

python学到什么程度才可以去找工作?

大家在学习Python的时候,有人会问“Python要学到什么程度才能出去找工作”,对于系统学习Python的同学来说这都不是问题,因为按照Python课程大纲来,一般都不会有什么问题。而对于自学Python来说,那就比较... 查看详情

python学到啥程度才能找工作

...技术,可以参加培训班,从入门到精通5-6个月时间就可以毕业找工作了。 参考技术B第一点:Python因为面试的是Python爬虫岗位,面试官大多 查看详情

大专毕业,无计算机基础小白,花钱报班学python值得吗(代码片段)

值不值得?这个取决于你学Python的目的是什么?不主张没有目的学编程,因为学完了,不用就会忘了。如果学Python是为了就业,那报班学是比较合适的,虽然花费大点,但是学的系统,现在半路转... 查看详情

it行业老程序员的经验之谈:爬虫学到什么程度可以找到工作?

什么是爬虫?百度百科:网络爬虫(又被称为网页,网络机器人,在社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取信息的程序或者脚本。最近很多朋友问我,... 查看详情

python学到什么程度才可以去找工作?掌握这4点足够了

很多人在学习Python的时候,都会想:“我要学到什么程度才能出去找工作?”对于在学校或者培训机构学习Python的同学来说这都不是问题,因为按照Python课程大纲来,打好知识基础,再加上一些项目实操经... 查看详情

python学到啥程度可以参加工作?

...都是模棱两可的。也看过一些招聘信息里面的要求。因为python是自学的,所以希望一些正在从事python方面工作的前辈来回答一下这个问题。一、确立目标、了解需求做什么事情都要先确定好目标,才不至于迷失方向。我们就是Pyt... 查看详情

自学python,多久或啥程度可以找到工作

...果选择培训学习的话,周期五个月左右,从入门到精通,毕业之后就可以找工作了。参考技术APython的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下... 查看详情

什么是python,又该怎么学习python

...的发展怎么样,现在感觉好恼火,我是个大学生,就快要毕业了好想有一技之长怎么说呢,现阶段Python还是处在一个发展期还不是饱和,你身为一个学生有着大把的时光可以学习,现在就连一些工作的人都要学习Python了,你还不... 查看详情

c++学到什么程度可以找工作?

置顶/星标公众号????,硬核文章第一时间送达!链接| https://www.zhihu.com/question/400543720至少需要哪些知识?需要掌握到什么程度呢?https://www.zhihu.com/question/400543720/answer/1275849097简单说,如果仅仅学C/C+&# 查看详情

python学到啥程度可以面试工作?

    Python作为一门最基础的编程语言,也是很多计算机专业的学生需要掌握的一门课程。我在大一的时候就已经学习了Python的相关基础知识,可以说是很多其他编程语言例如Java,C++的基础了。    那Py... 查看详情

大学毕业之后java能学到啥程度?

...名大二的学生,不是计算机专业,现在在自学java,想在毕业之后(一年以后)找份工作(java网站方面的),想往web方面发展,但是不知道现在一般大学生毕业之后能学到什么程度,java基础加三大框架都能掌握了么?(千万不要... 查看详情

自学软件测试,学到什么程度可以出去找工作?

...差不多就能简单入门。另外不要担心,初级测试对于Python/Java编程,自动化测试,性能测试这些都是初步的了解和学习。如果说要深度掌握&# 查看详情

从不建议为了就业而花大量时间学python

...?也有一些在校的小伙伴问,作为双非本科或者大专生,他们的学校是把Python做为主语言进行教学,但通过他自己的了解,发现Python虽然应用广泛,但对学历要求貌似比较高,类似人工智能、数据挖掘... 查看详情

python学到啥程度可以就业

Python可以从事的岗位有很多,就业岗位不同,需要具备的技能不同,具体要求如下:阶段一:Python开发基础Python全栈开发与人工智能之Python开发基础知识学习内容包括:Python基础语法、数据类型、字符编码、文件操作、函数、装... 查看详情

c++学到什么程度可以面试工作?

...大家。简单说,如果仅仅学C/C++本身的话,学到什么程度你都找不到工作。学习掌握某种编程语言的语法只是一个基础,一个起点 查看详情

java学到什么程度可以找到工作?

...背景的,刚开始学习Java都关心这么一个问题:到底把Java学到何种程度才能找到第一份工作呢?每个人都很现实,目标都是相当的一致,都是为了能拿到像别人高薪的工作。那到底一个Java初学者要学多少Java知识,才能找到第一... 查看详情