Python爬虫面试问题 附回答(一)

前言

新年一过,又要到以你那一度的"金三银四"求职高峰期。对于爬虫工程师来说,面试前做好充足准备,才能事半功倍。今天给小伙伴们分享5道Python爬虫面试提及回答。

问题1:你写爬虫的时候都遇到过什么反爬虫措施,你最终是怎样解决的?

答:通过headers反爬虫:解决策略,伪造headers,基于用户行为反爬虫:动态变化去爬取数据,模拟普通用户的行为, 使用IP代理池爬取或者降低抓取频率,或 通过动态更改代理ip来反爬虫,基于动态页面的反爬虫:跟踪服务器发送的ajax请求,模拟ajax请求,selnium,和phtamjs。或 使用selenium + phantomjs 进行抓取抓取动态数据,或者找到动态数据加载的json页面。
验证码 :使用打码平台识别验证码
数据加密:对部分数据进行加密的,可以使用selenium进行截图,使用python自带的pytesseract库进行识别,但是比较慢最直接的方法是找到加密的方法进行逆向推理。

**问题2:你写爬虫的时候 使用的什么框架 选择这个框架的原因是什么?

答:
优势:可以实现高并发的爬取数据, 注意使用代理,提供了一个爬虫任务管理界面, 可以实现爬虫的停止,启动,调试,支持定时爬取任务,代码简洁

劣势:1.可扩展性不强。2.整体上来说: 一些结构性很强的, 定制性不高, 不需要太多自定义功能时用pyspider即可, 一些定制性高的,需要自定义一 些 功能时则使用Scrapy。

问题3:请简要介绍下scrapy框架,为什么要使用scrapy框架?scrapy框架有哪些优点?scrapy框架有哪几个组件/模块?简单说一下工作流程。

答:

1,scrapy的去重原理(指纹去重到底是什么原理)

2,scrapy中间件有几种类,你用过哪些中间件*

3,scrapy中间件再哪里起的作用

4,scrapy实现分布式抓取简单点来说

5,分布式的去重原理

6,海量数据的去重原理

问题5:为什么会用到代理?

答:

  • 一些网站会有相应的反爬虫措施,例如很多网站会检测某一段时间某个IP的访问次数,如果访问频率太快以至于看起来不像正常访客,它可能就会会禁止这个IP的访问。所以我们需要设置一些代理服务器,每隔一段时间换一个代理,就算IP被禁止,依然可以换个IP继续爬取。
  • 2.代理怎么使用(具体代码, 请求在什么时候添加的代理)
  • 3.代理失效了怎么处理,事先用检测代码检测可用的代理,每隔一段时间更换一次代理,如果出现302等状态码,则立即更换下一个可用的IP。

注:有的公司或许会让你现场实操,这里建议提前备好高质量代理IP,避免影响面试。当前【一连】提供0门槛代理IP资源,代理IP3天不限量+1w代理IP不限时使用。

问题6:验证码处理

答:

  • 登陆验证码处理

图片验证码:先将验证码图片下载到本地,然后使用云打码识别;

滑动验证码:使用selenium模拟人工拖动,对比验证图片的像素差异,

  • 爬取速度过快出现的验证码处理

设置setting.py中的DOWNLOAD_DELAY,降低爬取速度;

用xpath获取验证码关键字,当出现验证码时,识别验证码后再继续运行。

  • 如何用机器识别验证码**

对接打码平台

对携带验证码的页面数据进行抓取

将页面中的验证码进行解析, 将验证码图片下载到本地

将验证码图片提交给打码平台进行识别, 返回识别后的结果

总结

希望大家在以上回答的基础上,尽可能的做到举一反三。除此之外,你在面试时还遇到过什么问题呢?欢迎在评论留言。未来,小编将不定时为大家整理爬虫面试题~

相关推荐
傻啦嘿哟42 分钟前
如何使用 Python 开发一个简单的文本数据转换为 Excel 工具
开发语言·python·excel
大数据编程之光1 小时前
Flink Standalone集群模式安装部署全攻略
java·大数据·开发语言·面试·flink
B站计算机毕业设计超人1 小时前
计算机毕业设计SparkStreaming+Kafka旅游推荐系统 旅游景点客流量预测 旅游可视化 旅游大数据 Hive数据仓库 机器学习 深度学习
大数据·数据仓库·hadoop·python·kafka·课程设计·数据可视化
IT古董1 小时前
【人工智能】Python在机器学习与人工智能中的应用
开发语言·人工智能·python·机器学习
不做超级小白1 小时前
工欲善其事,必先利其器;爬虫路上,我用抓包
爬虫
Smartdaili China1 小时前
如何在 Microsoft Edge 中设置代理: 快速而简单的方法
前端·爬虫·安全·microsoft·edge·社交·动态住宅代理
湫ccc2 小时前
《Python基础》之pip换国内镜像源
开发语言·python·pip
hakesashou2 小时前
Python中常用的函数介绍
java·网络·python
菜鸟的人工智能之路2 小时前
极坐标气泡图:医学数据分析的可视化新视角
python·数据分析·健康医疗
菜鸟学Python2 小时前
Python 数据分析核心库大全!
开发语言·python·数据挖掘·数据分析