21秋學(xué)期(1709、1803、1809、1903、1909、2003、2009、2103)《網(wǎng)絡(luò)爬蟲與信息提取》在線作業(yè)
試卷總分:100 得分:100
一、單選題 (共 20 道試題,共 40 分)
1.如果使用Python的數(shù)據(jù)結(jié)構(gòu)來(lái)做類比的話,MongoDB中庫(kù)相當(dāng)于一個(gè)大字典,大字典里面的每一個(gè)鍵值對(duì)都對(duì)應(yīng)了一個(gè)集合,Key為(),Value就是一個(gè)集合。
A.字典
B.集合的名字
C.集合
D.文檔
答案:B
2.PyMongo中邏輯查詢表示等于的符號(hào)是()
A.$gt
B.$lt
C.$eq$$ne
答案:C
3.HTTP常用狀態(tài)碼表明服務(wù)器內(nèi)部資源出故障了的是()
A.500
B.503
C.403
D.404
答案:A
4.使用了RedisSpider作為爬蟲的父類以后,爬蟲會(huì)直接監(jiān)控()中的數(shù)據(jù),并不讀取start_urls中的數(shù)據(jù)。
A.Redis
B.RedisSpider
C.Spider
D.MongoDB
答案:A
5.Scrapy中使用Xpath獲得的結(jié)果調(diào)用了.extract方法,結(jié)果以()形式生成
A.列表
B.元組
C.字典
D.集合
答案:A
6.下面Python代碼輸出為(): def default_para_without_trap(para=[], value=0): if not para: para = [] para.append(value) return para print('第一步:{}'.format(default_para_trap(value=100))) print('第二步:{}'.format(default_para_trap(value=50)))
A.第一步:[100] 第二步:[100,50]
B.第一步:[100] 第二步:[50]
C.第一步:[100] 第二步:[]
D.第一步:[100] 第二步:[100]
7.打碼平臺(tái)一般通過(guò)()識(shí)別驗(yàn)證碼。
A.人工識(shí)別
B.機(jī)器學(xué)習(xí)識(shí)別
C.光學(xué)字符識(shí)別
D.深度學(xué)習(xí)識(shí)別
8.HTTP狀態(tài)碼401表示
A.請(qǐng)求報(bào)文中可能存在語(yǔ)法錯(cuò)誤
B.請(qǐng)求需要通過(guò)HTTP認(rèn)證
C.請(qǐng)求資源的訪問(wèn)被拒絕
D.服務(wù)器上沒(méi)有請(qǐng)求的資源
9.Python中以下哪個(gè)容器里的元素不能重復(fù)()
A.列表
B.元組
C.字典
D.集合
10.如果使用Python的數(shù)據(jù)結(jié)構(gòu)來(lái)做類比的話,MongoDB中庫(kù)相當(dāng)于一個(gè)大字典,大字典里面的每一個(gè)鍵值對(duì)都對(duì)應(yīng)了一個(gè)集合,Key為集合的名字,Value就是一個(gè)()。
A.字典
B.集合的名字
C.集合
D.文檔
11.瀏覽器用來(lái)記錄用戶狀態(tài)信息的數(shù)據(jù)叫
A.session
B.cookies
C.moonpies
D.selenium
12.使用UI Automator使屏幕向上滾動(dòng)一屏的操作是得到相應(yīng)控件后使用命令()
A.scroll_forwad
B.scroll_up
C.scroll.forward
D.scroll.vert.forward
13.一般來(lái)說(shuō)在頁(yè)面?zhèn)鬏數(shù)卿浶畔⒍加肏TTP()請(qǐng)求類型
A.GET
B.POST
C.PUT
D.SEND
14.Redis是一個(gè)開(kāi)源的使用()語(yǔ)言編寫
A.ANSI C
B.C++
C.JAVA
D.Python
15.Python操作CSV文件可通過(guò)()容器的方式操作單元格
A.列表
B.元組
C.字典
D.集合
16.Scrapy自帶的待爬隊(duì)列是()
A.deque
B.queue
C.list
D.lqueue
17.Python中專門用來(lái)處理圖像的第三方庫(kù)是
A.lxml
B.Pillow
C.beautifulsoup
D.pytesseract
18.可以通過(guò)()繞過(guò)網(wǎng)站登錄。
A.session
B.cookies
C.moonpies
D.localstorage
19.MongoDB中數(shù)據(jù)存儲(chǔ)的形式類似于()
A.列表
B.元組
C.字典
D.集合
20.Redis若要進(jìn)入交互環(huán)境,需要打開(kāi)終端輸入()
A.redis-cli
B.redis
C.redis-cmd
D.redis-start
二、多選題 (共 10 道試題,共 20 分)
21.自動(dòng)填充驗(yàn)證碼的方式有
A.手動(dòng)識(shí)別填寫
B.圖像識(shí)別
C.打碼網(wǎng)站
D.瀏覽器自動(dòng)識(shí)別
22.requests中post請(qǐng)求方法的第二個(gè)參數(shù)可以為()
A.字典
B.列表
C.json數(shù)據(jù)
D.字符串
23.要使用tesseract來(lái)進(jìn)行圖像識(shí)別,需要安裝兩個(gè)第三方庫(kù)
A.requests
B.beautifulsoup
C.Pillow
D.pytesseract
24.Python中一個(gè)函數(shù)可以有()個(gè)return語(yǔ)句
A.0
B.1
C.多個(gè)
D.2
25.Python中()與元組由類似的數(shù)據(jù)讀取方式
A.字符串
B.列表
C.字典
D.集合
26.如果目標(biāo)網(wǎng)站有反爬蟲聲明,那么對(duì)方在被爬蟲爬取以后,可以根據(jù)()來(lái)起訴使用爬蟲的公司
A.服務(wù)器日志
B.數(shù)據(jù)庫(kù)日志記錄
C.程序日志記錄
D.服務(wù)器監(jiān)控
27.一個(gè)可行的自動(dòng)更換代理的爬蟲系統(tǒng),應(yīng)該下列哪些功能?
A.有一個(gè)小爬蟲ProxySpider去各大代理網(wǎng)站爬取免費(fèi)代理并驗(yàn)證,將可以使用的代理IP保存到數(shù)據(jù)庫(kù)中
B.在發(fā)現(xiàn)某個(gè)請(qǐng)求已經(jīng)被設(shè)置過(guò)代理后,什么也不做,直接返回
C.在ProxyMiddlerware的process_request中,每次從數(shù)據(jù)庫(kù)里面隨機(jī)選擇一條代理IP地址使用
D.周期性驗(yàn)證數(shù)據(jù)庫(kù)中的無(wú)效代理,及時(shí)將其刪除
28.如果爬蟲爬取的是商業(yè)網(wǎng)站,并且目標(biāo)網(wǎng)站使用了反爬蟲機(jī)制,那么強(qiáng)行突破反爬蟲機(jī)制可能構(gòu)成()
A.非法侵入計(jì)算機(jī)系統(tǒng)罪
B.非法獲取計(jì)算機(jī)信息系統(tǒng)數(shù)據(jù)罪
C.非法獲取計(jì)算機(jī)數(shù)據(jù)罪
D.非法獲取系統(tǒng)罪
29.以下哪些方法屬于Python寫CSV文件的方法()
A.writeheaders
B.writeheader
C.writerrows
D.writerow
30.Python中()容器有推導(dǎo)式
A.列表
B.元組
C.字典
D.集合
三、判斷題 (共 20 道試題,共 40 分)
31.RoboMongo是MongoDB的管理軟件
32.Python中寫CSV文件的writerows方法參數(shù)為字典類型
33.如果元組里面只有整數(shù)、浮點(diǎn)數(shù)、字符串、一個(gè)列表,就既不能添加數(shù)據(jù),也不能刪除數(shù)據(jù),還不能修改里面數(shù)據(jù)的值。
34.在MacOS下若要運(yùn)行Redis可以運(yùn)行解壓以后的文件夾下面的src文件夾中的redis-server文件啟動(dòng)redis服務(wù) src/redis-server
35.在Linux的終端使用apt-get命令安裝一系列依賴庫(kù)時(shí),其中如果存在有已經(jīng)安裝的庫(kù),會(huì)覆蓋掉之前的庫(kù)重新安裝
36.運(yùn)行MongoDB以后,不會(huì)在終端打印任何Log
37.微信小程序的反爬蟲能力要比網(wǎng)頁(yè)的高很多。
38.在發(fā)送請(qǐng)求時(shí)需要注意requests提交的請(qǐng)求頭不能與瀏覽器的請(qǐng)求頭一致,因?yàn)檫@樣才能隱藏好自己達(dá)到獲取數(shù)據(jù)的目的
39.插入數(shù)據(jù)時(shí),MongoDB會(huì)自動(dòng)添加一列“_id”,也就是自增ID,每次自動(dòng)加1
40.Redis插入數(shù)據(jù)都是插入到列表右側(cè),因此讀取數(shù)據(jù)也是從右側(cè)讀取
41.把cookies這段文本放在Redis里面,可以使scrapy請(qǐng)求網(wǎng)頁(yè)時(shí)始終保持登錄狀態(tài)
42.異步加載的內(nèi)容一般在網(wǎng)頁(yè)框架加載完成之前
43.自己能查看的數(shù)據(jù),允許擅自拿給第三方查看
44.在Ubuntu下若要運(yùn)行Redis可以使用CMD進(jìn)入解壓以后的文件夾并運(yùn)行命令redis-server.exe redis.windows.conf啟動(dòng)Redis
45.Redis的集合與Python的集合一樣,沒(méi)有順序,值不重復(fù)
46.使用UI Automatorr讓屏幕向右滾動(dòng)的操作是得到相應(yīng)控件后使用命令scroll.horiz.forward()
47.在有spiders何setting.py這兩項(xiàng)的情況下,可以寫出爬蟲并且保存數(shù)據(jù),items.py和pipelines.py文件是原作者的失誤而導(dǎo)致的冗余文件。
48.在默認(rèn)情況下,Scrapyd可以從外網(wǎng)訪問(wèn)
49.UI Automator Viewer與Python uiautomator可以同時(shí)使用
50.包含或超過(guò)50萬(wàn)人的個(gè)人信息,或者包含國(guó)家關(guān)鍵信息的數(shù)據(jù),如果要轉(zhuǎn)移到境外,必須經(jīng)過(guò)主管或者監(jiān)管部門組織安全評(píng)估。

