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工具的作用?
python面试题——爬虫相关的更多相关文章
- Python静态网页爬虫相关知识
想要开发一个简单的Python爬虫案例,并在Python3以上的环境下运行,那么需要掌握哪些知识才能完成一个简单的Python爬虫呢? 爬虫的架构实现 爬虫包括调度器,管理器,解析器,下载器和输出器. ...
- Python—安装跟爬虫相关的包
舆情爬虫分析:硬件: 4台服务器,分别放redis.python爬虫.mysql和 kafka四大板块.软件:1. mysql2. redis #leap1 /usr/bin/redis- ...
- python面试题-django相关
1.中间件 中间件一般做认证或批量请求处理,django中的中间件,其实是一个类,在请求和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法, 如请求过来 执行process_re ...
- Python面试题-数据库相关
1.mysql如何做分页 mysql数据库做分页用limit关键字,它后面跟两个参数startIndex和pageSize 2.mysql引擎有哪些 innodb和myisam两个引擎,两者区别是 i ...
- c#代码 天气接口 一分钟搞懂你的博客为什么没人看 看完python这段爬虫代码,java流泪了c#沉默了 图片二进制转换与存入数据库相关 C#7.0--引用返回值和引用局部变量 JS直接调用C#后台方法(ajax调用) Linq To Json SqlServer 递归查询
天气预报的程序.程序并不难. 看到这个需求第一个想法就是只要找到合适天气预报接口一切都是小意思,说干就干,立马跟学生沟通价格. 不过谈报价的过程中,差点没让我一口老血喷键盘上,话说我们程序猿的人 ...
- Mac os 下 python爬虫相关的库和软件的安装
由于最近正在放暑假,所以就自己开始学习python中有关爬虫的技术,因为发现其中需要安装许多库与软件所以就在这里记录一下以避免大家在安装时遇到一些不必要的坑. 一. 相关软件的安装: 1. h ...
- Python面试题整理-更新中
几个链接: 编程零基础应当如何开始学习 Python ? - 路人甲的回答 网易云课堂上有哪些值得推荐的 Python 教程? - 路人甲的回答 怎么用最短时间高效而踏实地学习 Python? - 路 ...
- 震惊!几道Python 理论面试题,Python面试题No18
本面试题题库,由公号:非本科程序员 整理发布 第1题: 简述解释型和编译型编程语言? 解释型语言编写的程序不需要编译,在执行的时候,专门有一个解释器能够将VB语言翻译成机器语言,每个语句都是执行的时候 ...
- 面试前赶紧看了5道Python Web面试题,Python面试题No17
目录 本面试题题库,由公号:非本科程序员 整理发布 第1题: Flask中的请求上下文和应用上下文是什么? 第2题:django中间件的使用? 第3题: django开发中数据做过什么优化? 第4题: ...
随机推荐
- [转]关于TDD、BDD和DDD的一些看法
在实际的项目中,我们可能随时面对各种不同的需求,它的各个方面的要素决定了我们所采用的开发模式. 比如,它的复杂度如何?所有的需求是否足够清晰?开发人员对相关的业务是否足够了解?项目的工期是否合理?种种 ...
- Java内存区域与内存溢出异常---对象的内存布局和对象的访问定位
对象的内存布局 在HotSpot虚拟机中,对象在内存中的存储布局可以划分为三个区域:对象头,实例数据,对齐填充. 对象头包括两部分信息:第一部分用于存储对象自身的运行时数据,如哈希码,GC分代 ...
- VC对话框的菜单设置变灰, 打勾 等
一般可以用UPDATE_COMMAND_UI消息,并加入以下代码:pCmdUI->Enable(FALSE); 就实现,弹对话框的菜单需要增加对WM_INITMENUPOPUP消息的处理以后,才 ...
- Codeforces-B-Divisors of Two Integers(思维技巧)
Recently you have received two positive integer numbers xx and yy. You forgot them, but you remember ...
- FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。
官网:http://ffmpeg.org 一.FFmpeg安装 安装依赖包: yum install libtheora-devel libvorbis-devel 1 FFmpeg编译安装: 由于系 ...
- Apache HttpClient 4.3.6 API
官网:http://hc.apache.org/httpcomponents-client-4.3.x/httpclient/apidocs/overview-summary.html 使用教程转载: ...
- spring boot CrossOrigin不生效?
直接postman, curl, 浏览器访问后端接口, response header是不会自动加上Access-Control-Allow-Origin的. 需要在ajax中调用,客户端reques ...
- esper(3)-窗口&聚合分组
一.Insert and Remove Stream 1. select * from com.ebc.updatelistener.User 只输出newEvents,不会输出oldEvents.即 ...
- Java学习笔记day05_方法重载
1.方法的重载overload 在同一个类中, 允许出现同名的方法, 只要方法的参数列表不同即可. 参数列表不同: 参数个数不同, 参数类型不同, 顺序不同. public class MethodO ...
- kafka与zookeeper读写分析
kafka的读写都通过leader完成,而zookeeper只有写要通过leader而读可以通过任意follower,我觉得造成这种差异的原因还是在于使用场景. kafka的设计目标是实现一个高吞吐的 ...