码迷,mamicode.com
首页 > 编程语言 > 详细

专业的“python爬虫工程师”需要学习哪些知识?

时间:2018-11-27 14:40:11      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:响应   ip池   cookie   日志监控   span   urllib   str   工具   tps   

学到哪种程度

 

暂且把目标定位初级爬虫工程师,简单列一下吧:

(必要部分)

  1. 熟悉多线程编程、网络编程、HTTP协议相关
  2. 开发过完整爬虫项目(最好有全站爬虫经验,这个下面会说到)
  3. 反爬相关,cookie、ip池、验证码等等
  4. 熟练使用分布式
  5. 了解企业级爬虫和个人爬虫的差异(企业级爬虫,首先在数据量上跟我们平时学习的时候爬虫,不是同一数量级,数据量大很多。其次,企业级爬虫代码一般部署到专门的爬虫服务器上,采取7*24小时运行,所以需要日志监控,异常维护。

 

人生苦短,只用Python

技术分享图片

爬虫基础

学习爬虫,我们首先要了解什么是爬虫以及它的工作流程,知己知彼,方能百战百胜嘛。当然这些大家都知道的,废话不多说,先来看看爬虫基础知识点。

1、请求与响应

技术分享图片

2、爬虫与反爬虫

技术分享图片

3、开发工具

技术分享图片

4、Urllib库使用详解与项目实战

技术分享图片

5、requests库安装使用与项目实战

技术分享图片

技术分享图片

 

 

 

技术分享图片

爬虫基础最后一弹

好了,如果只是想入个门的话,这些都差不多了,但我想每个学爬虫的小伙伴,都是想成为一个伟大的爬虫攻城狮的吧!来来来,让我们继续看看进阶学习方法。

爬虫进阶

1、爬虫框架实现

技术分享图片

2、破解反爬技术

技术分享图片

3、代理池实现

技术分享图片

4、模拟登陆

技术分享图片

5、pyspider框架

爬虫高级部分

1、APP的抓取

技术分享图片

2、Scrapy框架

技术分享图片

3、分布式爬虫实战

技术分享图片

4、分布式爬虫部署

技术分享图片

如何提升

 

随便看看知乎上的教程就可以入门了,就Python而言,会requests当然是不够的,还需要了解scrapy和pyspider这两个框架,scrapy_redis也是需要理解原理的。

分布式如何搭建、如何解决其中遇到内存、速度问题。

参考 scrapy-redis 和 scrapy 有什么区别?

实际项目经验

这个面试中肯定会被人问道,如:

  1. 你爬过哪些网站
  2. 日均最大采集量是多少
  3. 你遇到哪些棘手问题,如何解决
  4. 等等

什么叫全站爬取

我们就拿拉勾来举例,搜索关键词,有50页,不要以为把这50页爬完就是全站爬取了,你应该想方法把所有数据全部爬下来。

那我们该用什么办法,答案是通过筛选缩小范围,慢慢来就OK了。

同时,每个职位还会有推荐职位,再写一个采集推荐的爬虫。

技术分享图片

关于反爬

常见的 UA、Refer等需要了解是什么东西,有些验证的ID如何产生的,是否必要;关于IP池这块我不了解,不多说,需要注意的是如何设计拉黑机制;模拟登陆也是必要的,fuck-login 可以研究下代码,或者提PR。

 技术分享图片

能力是否达标?

想知道很简单,给个任务,爬取你们当地政府官网上所有新闻。

你会如何思考并设计这个项目?

欢迎留言指出

专业的“python爬虫工程师”需要学习哪些知识?

标签:响应   ip池   cookie   日志监控   span   urllib   str   工具   tps   

原文地址:https://www.cnblogs.com/cherish-cxh/p/10025979.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!