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工具的作用?

  • 相关阅读:
    NGINX_深度优化实践
    NFS服务端___NFS客户端
    NFS 批量管理 分发
    MYSQL---数据备份与还原
    MYSQL---建立字符集数据库
    MYSQL---基于mysql多实例数据库创建主从复制
    MYSQL---关于MYSQL优化
    bug记录-left jion连接后不是一对一情况时,记得去重
    bug记录-不等于某个值,查询后注意不包括为空的情况(由于NULL不能直接用算术运算符进行比较值。要想把为NULL 的那行也查询出来的话,只能使用IS NULL)
    bug记录-sqljion连接 like
  • 原文地址:https://www.cnblogs.com/xiugeng/p/10091049.html
Copyright © 2011-2022 走看看