zoukankan      html  css  js  c++  java
  • 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工具的作用?

  • 相关阅读:
    Codeforces Round #344 (Div. 2) C. Report 其他
    Codeforces Round #344 (Div. 2) B. Print Check 水题
    Codeforces Round #344 (Div. 2) A. Interview 水题
    8VC Venture Cup 2016
    CDOJ 1280 772002画马尾 每周一题 div1 矩阵快速幂 中二版
    CDOJ 1280 772002画马尾 每周一题 div1 矩阵快速幂
    CDOJ 1279 班委选举 每周一题 div2 暴力
    每周算法讲堂 快速幂
    8VC Venture Cup 2016
    Educational Codeforces Round 9 F. Magic Matrix 最小生成树
  • 原文地址:https://www.cnblogs.com/xiugeng/p/10091049.html
Copyright © 2011-2022 走看看