上海云象供应链管理有限公司12月招聘面试题193道20201224

如果目标网站本身就是提供公众查询服务的网站,那么使用爬虫是合法合规的。()

此题为判断题(对,错)。


正确答案:对


爬虫的源代码通过公开不会对被爬虫网站造成影响()

此题为判断题(对,错)。


正确答案:错


Scrapy的工程名字不能使用"scrapy",否则爬虫会无法运行。除此以外工程名不受限制。()

此题为判断题(对,错)。


正确答案:错


为了解决爬虫代码本身的错误引起的异常,可以采用下列哪些方法

A.仔细检查代码

B.开发爬虫中间件

C.开发下载器中间件

D.等待


正确答案:AB


在Scrapy工程的settings.py文件中,哪个配置项,如果设置为True,那么Scrapy就会自动跳过网站不允许爬取的内容()

A.ROBOTSTXT_OBEY

B.ROBOTSTXT_JUDGE

C.ROBOTSTXT

D.ROBOTSTXT_IF


正确答案:A


上海云象供应链管理有限公司12月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:为何基于tcp协议的通信比基于udp协议的通信更可靠?可用的回答 : TCP的可靠保证,是它的三次握手双向机制,这一机制保证校验了数据,保证了他的可靠性。 而UDP就没有了,udp信息发出后,不验证是否到达对方,所以不可靠。 不过UDP的发送速度是TCP比不了的,而且UDP的反应速度更快。 问题 Q2:如何提高爬取效率?可用的回答 : 爬虫下载慢主要原因是阻塞等待发往网站的请求和网站返回 1,采用异步与多线程,扩大电脑的cpu利用率; 2,采用消息队列模式 3,提高带宽 问题 Q3:scrapy和scrapy-redis的区别?可用的回答 : scrapy是一个爬虫通用框架,但不支持分布式,scrapy-redis是为了更方便的实现scrapy分布式爬虫,而提供了一些以redis为基础的组件 为什么会选择redis数据库?因为redis支持主从同步,而且数据都是缓存在内存中,所以基于redis的分布式爬虫,对请求和数据的高频读取效率非常高 什么是主从同步?在Redis中,用户可以通过执行SLAVEOF命令或者设置slaveof选项, 让一个服务器去复制(replicate)另一个服务器,我们称呼被复制的服务器为主服务器(master),而对主服务器进行复制的服务器则被称为从服务器(slave), 当客户端向从服务器发送SLAVEOF命令,要求从服务器复制主服务器时,从服务器首先需要执行同步操作,也即是,将从服务器的数据库状态更新至主服务器当前所处的数据库状态 问题 Q4:什么是PEP 8?可用的回答 :PEP 8是一个编码约定,关于如何编写Python代码更具可读性。问题 Q5:什么是python模块?Python中有哪些常用的内置模块?可用的回答 :Python模块是包含Python代码的.py文件。此代码可以是函数类或变量。一些常用的内置模块包括:sys、math、os、re、random、time,datatime、json等问题 Q6:json序列化时,默认遇到中文会转换成unicode,如果想要保留中文怎么办?可用的回答 :json.dumps函数方法中加上参数 ensure_ascii = False问题 Q7:大数据的文件读取?可用的回答 : 1. 利用生成器generator 2. 迭代器进行迭代遍历:for line in file 问题 Q8:如果让你来防范网站爬虫,你应该怎么来提高爬取的难度?可用的回答 : 1. 判断headers的User-Agent; 2. 检测同一个IP的访问频率; 3. 数据通过Ajax获取; 4. 爬取行为是对页面的源文件爬取,如果要爬取静态网页的html代码,可以使用jquery去模仿写html。 问题 Q9: Django重定向你是如何实现的?用的什么状态码?可用的回答 : 使用HttpResponseRedirect redirect和reverse 状态码:302,301 问题 Q10:深拷贝和浅拷贝有什么区别?可用的回答 :在创建新实例类型时使用浅拷贝,并保留在新实例中复制的值。浅拷贝用于复制引用指针,就像复制值一样。这些引用指向原始对象,并且在类的任何成员中所做的更改也将影响它的原始副本。浅拷贝允许更快地执行程序,它取决于所使用的数据的大小。深拷贝用于存储已复制的值。深拷贝不会将引用指针复制到对象。它引用一个对象,并存储一些其他对象指向的新对象。原始副本中所做的更改不会影响使用该对象的任何其他副本。由于为每个被调用的对象创建了某些副本,因此深拷贝会使程序的执行速度变慢。算法题面试官常问到的一些算法题目整理如下(大概率会机考):算题题 A1:从旋转过的排序数组中搜索某数题目描述如下:Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.(i.e., 0,1,2,4,5,6,7 might become 4,5,6,7,0,1,2).You are given a target value to search. If found in the array return its index, otherwise return -1.You may assume no duplicate exists in the array.Your algorithms runtime complexity must be in the order of O(log n).Example 1:Input: nums = 4,5,6,7,0,1,2, target = 0Output: 4Example 2:Input: nums = 4,5,6,7,0,1,2, target = 3Output: -1一个排过序的数组被旋转了一下,但不知道在哪个位置旋转的。给定这样一个数组,并且给定一个目标,找到此数组中是否存在目标。时间复杂度必须是 O(log n)。排序过的找某数第一个想法就是 二分法。这个二分法的关键点在于应该分成两个部分:1. 递增的部分。2. 第二个递增的部分。-1. 要找的旋转点可以利用 已排序 这个关键词:由于是已经排过序的所以若是有旋转的 nums0 一定是大于所有旋转的元素的。所以首先的二分是根据以 nums0 为 target 找到收个比它小的位置。 代码在 find_rotate 函数。因为target是 nums0 lo 就不管 0 了,直接从1开始。 lo hi4 5 6 7 0 1 2若 mid 大于 nums0 因为是排过序的,而且旋转的情况的话上面也分析过了,不可能有大于 nums0 的存在,所以mid左边的不可能存在旋转点。nums0 numsmidlo = mid + 1否则hi = mid这样一轮过后,要么找到旋转点,lo确定后 hi 一直缩小。 要么无旋转点,lo一直增大。2. 对于两个递增的部分,分别进行一次普通二分即可。beat 100%20ms测试地址:https:/ Solution(object): def find_rotate(self, nums): target = nums0 lo = 1 hi = len(nums) while lo target:

已经创建好的Scrapy爬虫*.py文件可以直接通过Python来运行()

此题为判断题(对,错)。


参考答案:错


Scrapy每一次发起请求之前都会在这里检查网址是否重复。因此如果确实需要再一次爬取数据,在Redis中把这个Key删除即可。()

此题为判断题(对,错)。


参考答案:对


()爬行过程中最重要部分就是表单填写及处理。

A、聚焦网络爬虫

B、增量式网络爬虫

C、通用网络爬虫

D、深层网络爬虫


参考答案:D


()采集的目标是那些大部分内容不能通过静态链接获取的、隐藏在搜索表单后的,只有用户提交一些关键词才能获得的Web页面。

A、聚焦网络爬虫

B、增量式网络爬虫

C、通用网络爬虫

D、深层网络爬虫


参考答案:D


()实现的两个主要目标为保持本地页面集中存储的页面为最新页面和提高本地页面集中页面的质量。

A、聚焦网络爬虫

B、增量式网络爬虫

C、通用网络爬虫

D、深层网络爬虫


参考答案:B

更多 “上海云象供应链管理有限公司12月招聘面试题193道20201224” 相关考题
考题 单选题爬行对象从一些种子URL扩充到整个网络,主要为了门户站点搜索引擎和大型网络服务提供商采集数据()。A 通用网络爬虫B 聚焦网络爬虫C 增量式网络爬虫D 反向网络爬虫正确答案:D解析:暂无解析

考题 如果要采集指定的数据,则需要使用到(),又称主题网络爬虫,是指选择性地爬行那些与预先定义好的主题相关页面的网络爬虫。A、增量式网络爬虫B、聚焦网络爬虫C、DeepWeb爬虫D、全网爬虫参考答案:B

考题 单选题只爬行新产生的、已经发生变化的网页爬虫,在一定程度上能够保证所爬行的页面为更新页面()。A 通用网络爬虫B 聚焦网络爬虫C 增量式网络爬虫D 反向网络爬虫正确答案:B解析:暂无解析

考题 ()是指对已下载网页采取增量式更新和只爬行新产生的或者已经发生变化网页的爬虫,它能够在一定程度上保证所爬行的页面是尽可能新的页面。A、聚焦网络爬虫B、增量式网络爬虫C、通用网络爬虫D、深层网络爬虫参考答案:B

考题 如果要采集指定的数据,则需要使用到(),因为它只需要爬行与主题相关的页面,极大地节省了硬件和网络资源,保存的页面也由于数量少而更新快。A、聚焦网络爬虫B、聚焦网络爬虫C、通用网络爬虫D、深层网络爬虫参考答案:A

考题 关于各种网络爬虫,以下说法不正确的是()。A、通用网络爬虫通常采用并行工作方式,但需要较长时间才能刷新一次页面。B、通用网络爬虫适用于为搜索引擎搜索广泛的主题,有较强的应用价值。C、聚焦爬虫根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。D、增量式爬虫在需要的时候爬行新产生或发生更新的页面,并重新下载所有页面参考答案:D

考题 使用了百度分享的网页可以更快地被百度爬虫发现,从而帮助网站的内容更快地被百度抓取。请问百度分享能使网页被快速抓取的原因是什么?()A、百度分享吸引爬虫抓取链接到百度数据库中,再由爬虫提交收录B、真实分享行为可以将链接直接存储到百度数据库中,并加速爬虫提交收录C、爬虫直接将分享的链接提交收录D、百度分享只能加速爬虫从数据库提交收录,不能影响链接的存储正确答案:B

考题 使用scrapy-redisl构建分布式爬虫,需要在settings.py文件中设置()。A、SCHEDULER=Scrapy-redisschedulerScheduleB、SCHEDULER='SCRAPYschedulerScheduleCDUPEFILTER_C、LASSscrap_redis.dupefilterRfpdupefilterD、dupefilter-class=scrap.dupefilterRfpdupefilter'参考答案:A

考题 scrapy框架是第三方库中的web框架。()此题为判断题(对,错)。参考答案:×

考题 以下关于网络爬虫的说法,不正确的是()。A、网络爬虫还可以对网页建立索引B、有些网络爬虫能够从网站抓取内容聚合起来C、有些网络爬虫甚至能发动DDos攻击、发送垃圾邮件等D、隐藏在表单后的信息无法被网络爬虫发现参考答案:D