python面试题——爬虫相关

python面试题——爬虫相关

1、接触过几种爬虫模块

  urllib、requests这两种爬虫模块。

2、robots协议是什么?

  它就是一个防君子不防小人的协议,网站有一些数据不想被爬虫程序爬取,可以编写robots协议文件,明确指明哪些内容可以爬取哪些不可以爬取。
  requests模块中并没有使用硬性的语法对该协议进行生效操作。
  在Scrapy框架中在settings.py文件中使用了硬性语法对该协议进行了生效。

3、如何处理验证码?

  使用三方的打码平台比如:云打码平台、打码兔。可以用来处理验证码。

4、掌握几种数据解析的方式?

  re、xpath(最常用)、bs4(python独有)

5、如何爬取动态加载的页面数据?

  selenium; ajax:抓包工具抓取异步发起的请求(url)

6、接触过哪些反爬机制?如何处理?

  robots协议、UA、封IP、验证码、动态数据加载、数据加密、token
  处理:配置不遵守robots协议、伪装User-Agent、代理IP更换、打码平台对验证码识别、selenium处理或者使用抓包工具去抓取动态加载的AJAX请求数据包、按照已知的各种加密方式进行解密、去前台页面进行token值的查找手动放入请求携带的参数中。

7、在Scrapy中接触过几种爬虫类?

  Spider、CrawlSpider(链接提取器和规则解析器)、RedisCrawlSpider、RedisSpider

8、如果实现分布式流程?

  必须要通过scrapy-redis组件来实现,可以由RedisCrawlSpider、RedisSpider这两种类分别实现。

9、简述 requests模块的作用及基本使用?

2、requests模块参数,data与json参数的区别?

97、简述 beautifulsoup模块的作用及基本使用?

98、简述 seleninu模块的作用及基本使用?

99、scrapy框架中各组件的工作流程?

100、在scrapy框架中如何设置代理(两种方法)?

101、scrapy框架中如何实现大文件的下载?

102、scrapy中如何实现限速?

103、scrapy中如何实现暂定爬虫?

104、scrapy中如何进行自定制命令?

105、scrapy中如何实现的记录爬虫的深度?

106、scrapy中的pipelines工作原理?

107、scrapy的pipelines如何丢弃一个item对象?

108、简述scrapy中爬虫中间件和下载中间件的作用?

109、scrapy-redis组件的作用?

110、scrapy-redis组件中如何实现的任务的去重?

111、scrapy-redis的调度器如何实现任务的深度优先和广度优先?

112、简述 vitualenv 及应用场景?

113、简述 pipreqs 及应用场景?

114、在Python中使用过什么代码检查工具?

115、简述 saltstack、ansible、fabric、puppet工具的作用?

posted @ 2018-12-09 14:12 休耕 阅读( ...) 评论( ...) 编辑 收藏
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值