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题: ...
随机推荐
- 【转】使用母版页时内容页如何使用css和javascript
源地址:https://www.cnblogs.com/accumulater/p/6767138.html
- loj #2254. 「SNOI2017」一个简单的询问
#2254. 「SNOI2017」一个简单的询问 题目描述 给你一个长度为 NNN 的序列 aia_iai,1≤i≤N1\leq i\leq N1≤i≤N,和 qqq 组询问,每组询问读入 l1 ...
- CF708A Letters Cyclic Shift 模拟
You are given a non-empty string s consisting of lowercase English letters. You have to pick exactly ...
- 3.Best Time to Buy and Sell Stock(买卖股票)
Level: Easy 题目描述: Say you have an array for which the ith element is the price of a given stock ...
- kuangbin专题十六 KMP&&扩展KMP HDU2328 Corporate Identity
Beside other services, ACM helps companies to clearly state their “corporate identity”, which includ ...
- Unity 动画系统 AnimationEvent 动画事件
- [Leetcode]017. Letter Combinations of a Phone Number
public List<String> letterCombinations(String digits) { LinkedList<String> ans = new Lin ...
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_new新建对象
CLR使用 new 操作符来创建新对象,例如:Employee e=new Employee("Param1"); 以下是 new 操作符所做的事情. 它计算类型及其所有基类型 ...
- poj3040 发工资(贪心)
题目传送门 题目大意:给一个人发工资,给出不同数量不同面额,(大面额一定是小面额的倍数),问最多能发几天,(每天实发工资>=应发工资). 思路:首先,将大于等于c的面额的钱直接每个星期给奶牛一张 ...
- php内置web server
今天刚开始正式学习PHP(之前有一点了解),推荐学习的网站是w3school.一开始不知道tomcat服务器不支持PHP脚本,直接把.php文件放到tomcat里面去运行,结果嵌入的php代码段没有什 ...