|
23春学期(高起本:1709-2103、专升本/高起专:1909-2103)《网络爬虫与信息提取》在线作业-00003# U( @( Y$ z! K" u" K
试卷总分:100 得分:100
f e- m+ U5 F% T2 t% H- K7 {# |一、单选题 (共 20 道试题,共 40 分)
( r. s$ j, E/ G1.在Scrapy的目录下,哪个文件负责存放爬虫的各种配置信息?()
0 K% p% I3 w* W0 lA.spiders文件夹
4 W$ k# ]6 F1 c6 LB.item.py5 i7 B$ i$ b! H- L2 M V. [% E
C.pipeline.py1 J: h7 J, g* X8 N5 R( L. A. I0 B' j
D.settings.py
9 x& f& c7 X r答案:
' r( @2 N, \, F( j2 v0 o* o0 L3 M6 s R% H _6 ]
2.参数headers=(),把请求头添加到Scrapy请求中,使爬虫的请求看起来像是从浏览器发起的。
' }$ T9 H1 }% s" J, T" kA.HEADER$ l) Z5 \! R2 l; D* d
B.HEADERS1 P1 r8 Z1 r7 S% n! F1 C. ?
C.HEAD1 ^ [! {, `/ L e! K
D.BODY
( X. r# G9 M8 z% X, |答案:B8 |! ~# x3 F. d2 L' I
' d }: q2 p3 l+ b# `) P0 B' F1 t
3.可以通过()绕过网站登录。8 F! N4 F' k8 O5 Q) q" A, s5 f) t
A.session& Y) m6 y8 \+ c% ~" M2 b0 q S7 p$ a
B.cookies
6 C9 a6 z( x3 [C.moonpies% Q; P( ^& P/ r
D.localstorage1 ~3 B+ v# f" a+ y
答案:B
# D) r4 d. r; Y7 K
! E0 t, A; d/ ~% K! P4.下面代码一共执行循环多少次(): i=0 while i<10: i+=1
$ n0 I/ u G7 \* n9 DA.9
4 B/ c" w) a& i7 A3 EB.10) x: V2 F$ R% x9 v! o! D
C.11#0; `, L: S3 n' @' l( L
答案:B. \1 R: Y$ b4 ]; Q0 Q
, g0 [' Y& u _6 @& [+ L0 V T' P5.Python并导入uiautomator来操作设备的语句是from uiautomator import ()
$ c9 k' c& g7 l" Y* |# K0 Z* OA.Device; v! p' l5 N3 |0 y
B.Devices
: Z5 m. s( n( i HC.Jobs3 q+ s9 W2 e3 m( V8 x/ J5 k" ~+ D
D.Job
4 w" T1 E7 r9 Q' C) Q答案:( B: C( S8 B: d2 q) ]
+ E# W8 |$ X3 ]! j' S& {
6.Python中的()库用于发送网络请求
`4 ]7 w+ q8 K8 s7 a; t) EA.web+ O: H- ~( u) T4 O% i4 q' [) l
B.request
2 r f7 h( T8 r( Z8 [C.requests3 G3 x# x# ~: k1 u& M
D.javascript
* f! T) W; Z+ K/ I4 h$ T, O1 y答案:& s8 f6 |' }8 J# i7 ^9 c& |
( o: j# S7 P# x2 c3 s$ i% q
7.Scrapy中使用Xpath获得的结果调用了.extract方法,结果以()形式生成- d) L1 v6 y) n% l6 T
A.列表
) c1 X% p ^. ]& bB.元组
/ E6 y2 I5 f F# r, a, AC.字典
' g+ k& Z) n* o- J3 U" o1 o! {: PD.集合) h) j% M( M4 y* w1 v U7 ~
答案:
( M% V% s! r( v# d1 K2 H9 ?& n/ l; p+ b% v* s% n( H
8.HTTP常用状态码表明服务器上没有请求的资源的是()5 m' R8 | o! W6 h6 t5 i
A.500! `6 T' q/ j2 }: y2 }
B.5037 S& d C. w9 H. g) G& K
C.403
' @2 u# h- j1 ?" s; O+ J; I7 C3 HD.404: E$ h" Y. b/ N7 ~6 w
答案:! M- d* V) Z8 A$ D
; b6 a- y+ [, m9.通常使用()工具来模拟浏览器进行爬虫请求
9 `% a' H7 R( x$ }$ [3 I2 LA.Selenium
& B4 I& v" [* L, I; ^B.Chrome' k2 E* i* P, [! C( K
C.ChromeDriver. b) e. J5 P+ c9 r$ c2 Q/ c; y# k* b
D.WebDriver' E$ S6 b, a5 _$ c9 p( W
答案:
" l, Z6 G, J& A7 C: G, o
% H) ~- M! b& |1 M& v. N) O10.PyMongo中查询所有age > 29的记录是()9 o7 N* ^# R8 G+ F$ e, j4 v
A.collection.find({'age': {'$gt': 29}})- v+ X# P" ? H( t% l. p; m
B.collection.find({'age'>29})
% J/ H# {! d$ Z7 y4 uC.collection.find_all({'age': {'$gt': 29}})
# T+ d' s$ E5 X* }6 ]D.collection.find_all({'age'>29})# h) Y$ D$ \5 ~2 b- S) ~/ F, a
答案:
, F. A9 I& S1 g$ g s A0 x
. ~) i5 B% q' ?8 L/ z11.使用UI Automator获取屏幕上显示的文本内容的操作是得到相应控件后使用命令()% m3 B2 l. b: Y4 I+ ^' S3 s
A.content
' R* a, z2 r0 c* r" G8 k hB.text
9 v+ t4 Y4 ?+ a8 xC.title
, d4 g% J! \% f. k! }9 @; ED.body
3 `# ~# f7 U* M' Q/ j3 L* W答案:B/ d3 f8 S. i; X( x. _- d- c( e
1 g- v# \" {& R, J' f# Q% _; B. u
12.如果使用Python的数据结构来做类比的话,MongoDB中库相当于一个大字典,大字典里面的每一个键值对都对应了一个集合,Key为(),Value就是一个集合。
1 p7 p# w- O( h8 l: a: x" l9 @A.字典$ ]9 g4 n, m: o. Z/ [
B.集合的名字
, y6 P* H& N& W2 ~, KC.集合, h5 \. x% z+ v( ~( u9 M
D.文档
0 a! t! `& U% g7 l: `, Y& R答案:B' }* n8 Q/ @* a9 Q; Y
" g4 n, \, \6 e4 S( \ ]
13.使用UI Automator打开微信的操作是获取相应图标后使用命令()/ b, L1 q# G5 D
A.touch6 w8 f4 C& N5 J- ~# U
B.click3 z1 z! E' ]+ n, z. ?( Q, y
C.push) ?) k" c3 H( Y
D.hover
$ c1 T D0 }7 O- H& r, X答案:B# s' S3 L) B7 G, s" p
; E1 L! f/ Q7 x% W) l e, P
14.Scrapy自带的待爬队列是()3 W4 [2 _8 f. D* J) @6 }
A.deque
: w" u4 R. M. D9 x% @/ A1 KB.queue- z2 D' t0 O8 y) R8 \ w: L& p# F
C.list( J: Q8 N' h/ j G6 e
D.lqueue
. V! `$ S S6 I! ~6 M) P答案:# W6 u( T1 f) P0 o. Y1 S% A! d
4 } r# x ]+ I; a$ W$ k15.启动MongoDB使用命令mongod --() usr/local/etc/mongod.conf+ [, w& r7 d1 f k+ o
A.config
" E9 g* l/ D* i5 O8 RB.install
4 e+ I- P" [8 X; cC.start
0 I9 \' ?9 ?: S- @D.begin
" Q! c6 w6 L+ W3 H: C/ c/ ^+ I答案:, ~' s j$ X: i- l$ Q5 d- Q& b0 g
8 }% I$ M$ H9 `! L& b$ l16.在Scrapy的目录下,哪个文件负责定义需要爬取的数据?()& f% ~" |- T1 V: C% |7 t& m
A.spiders文件夹* |4 W4 p- A3 h1 V; Y* n
B.item.py0 {( [5 S" e1 W; I4 ?/ r
C.pipeline.py
' G; y L! E, V) B7 @D.settings.py
2 W6 V* _% d0 A% O答案:B8 k, Y/ b# G' w2 ]! @! O4 }
; m* |3 W& u7 A$ m. A17.如果使用Python的数据结构来做类比的话,MongoDB中库相当于一个大字典,大字典里面的每一个键值对都对应了一个集合,Key为集合的名字,Value就是一个()。. d0 B8 K4 k+ w8 O/ N
A.字典
3 k* T% V: ], x V0 GB.集合的名字
; `$ W) n* i9 a4 l/ B/ T: BC.集合
! Q) l( B$ l7 }, X, b1 l9 f4 D0 s: ED.文档
( e" {9 c1 s- ?. L$ l& C, V答案:" \$ M4 j$ p. Z) p) P# F8 V( {
/ D5 k, ^5 B' u; D* r
18.Python中哪种容器一旦生成就不能修改! H* v) i+ n7 t7 f
A.列表
/ w& X+ E* h8 y) s- ]B.元组) y, O- y) |9 m. H
C.字典0 d, h3 d$ u3 Y! { i0 S
D.集合
1 Q' x; j8 Y8 C$ ?' E, L2 K答案:B$ e1 B1 T: M0 `3 [6 a6 X6 k
) @ D# b: Q* G
19.使用xpath方法的返回类型是()- Q) H/ O4 K( D: [- ~
A.列表# z8 u) Y* r& c! G3 A& p0 P9 R
B.元组1 x- z$ w+ f+ ~# S
C.字典8 M" }8 o; B1 ^
D.集合
, s1 y, q" X; ]2 p* b- n答案:
8 Q, D6 Q0 a' c( n
1 ^' m4 O# U# r9 l20.python中可以用来将图片中的文字转换为文本的第三方类库是
. f- I& y* ^. ~. R* XA.lxml# L6 z" S: r: s$ G+ {
B.requests& \& ]* n' s; P) J8 Z1 {, `
C.beautifulsoup
: o3 O6 y+ p( w! ?2 \, ?; l! GD.pytesseract
! _+ [' V3 w; q' a! G" ?答案:( s2 F7 [1 L1 U
9 F# p7 O0 n* Z) h4 \二、多选题 (共 10 道试题,共 20 分); G7 x5 |5 K* `; I! Q6 e* Q; `
21.requests中post请求方法的第二个参数可以为()* z3 e) T1 i) ]4 N* s
A.字典
! z, _$ C- p* ]" y! PB.列表
, ] z$ u( U9 P& t0 z& _! IC.json数据
" X3 y, }. m+ tD.字符串: j( D/ ~7 R9 E6 Z) n0 m8 F' Y
答案:4 W5 Z% C0 J1 F+ r! g. z" O; |0 [6 B' W
, t4 v2 }5 o J22.Redis中的值可以支持()# r; f7 F n& e N
A.列表- `3 k/ p( x: K$ E! k- {, m
B.哈希
3 G) h" m. `: t1 s& cC.集合! B9 E* x' F) P% Y% D- I" r# ]
D.有序集合8 L! h& D, s e: j$ r, |9 \7 O
答案:BCD! ?; S! D4 ~# ?( W
2 A0 j* S, e- ~. Z6 ^0 D
23.HTTP常用状态码表明表明客户端是发生错误的原因所在的有()
: [! V$ b. C! _A.403' X7 y6 ~6 W4 \4 p
B.404
; q' E4 p+ R) n: E+ B: F5 F' @# cC.500
6 N1 h8 t- x/ xD.503
. n2 a) X/ a: a( H$ ?3 m答案:B+ u0 O8 b- S+ l7 N8 }
" b$ F( p4 c5 f q
24.下载器中间件的作用有哪些?
8 |4 w4 j+ }& e z- Q2 oA.更换代理IP5 M4 k/ A- T2 ^/ I
B.更换Cookies
' y! v9 S2 y2 X7 ]C.更换User-Agent
: V+ o* b T _8 F0 I% {% s* ?( Q% tD.自动重试
) R6 d' A6 D' `. W5 z4 g答案:BCD" H, K0 p9 _0 I; C4 r9 o) x
6 W% N+ g5 }# [3 Y1 @8 ?. l7 u1 G
25.最常见的HTTP请求类型有()
% E5 z X( k( l) I) [' fA.GET- s# y) c7 W$ ~: V; I6 [" j
B.POST$ h# Y4 @: Q6 Z4 W- M8 X
C.SEND% v B; r' W& U! d( w
D.RECEIVE
3 s& B. z% r) {6 N8 l! ]/ t答案:B+ V+ g# V* E/ H: z8 S' G+ e- U j
2 J6 }" K0 K6 {* h5 I
26.Python中的容器有()& y& E4 z# K. c$ J
A.列表
: z% W) @' G& J9 O& zB.元组' p$ R! I3 W/ u, S) O
C.字典
5 e2 [; c7 l" y3 @- F4 h dD.集合6 H' z, A' R1 u8 P# J3 R" \5 ^
答案:BCD! q/ p. ^$ l( H9 [0 I
; N# o+ j. Y6 j4 ]: w4 \
27.如果爬虫爬取的是商业网站,并且目标网站使用了反爬虫机制,那么强行突破反爬虫机制可能构成()$ O6 J8 p3 b: o$ C* H/ M4 `" P: A
A.非法侵入计算机系统罪" A. G! P) K5 _* Q/ J5 F' {
B.非法获取计算机信息系统数据罪' @2 I6 r8 k; e3 ~( N
C.非法获取计算机数据罪
* }- P) Y( Z# x: nD.非法获取系统罪: p( a0 U$ d" x. r8 A `0 T. q0 t( V% V
答案:B; m- T5 y- m# B% E
$ ]( V7 w4 O" ~. C: g28.要使用tesseract来进行图像识别,需要安装两个第三方库7 T* i0 U7 ?/ V t0 i
A.requests! s2 a! y" _7 O
B.beautifulsoup7 y0 J# A; p+ h& ^7 K1 b( H4 g Q/ G
C.Pillow4 E2 w4 D3 C# T4 U, l+ Q; E
D.pytesseract+ O. Q8 Q) Q, @: k# h- ?7 h* E
答案- e4 X, z6 d; Q5 I/ O
( x& N$ a1 A! O29.Python中有哪些实现多线程方法(): f, `2 @" m+ A5 K$ |+ h% @, K/ h
A.multiprocess.dummy- G7 Q, G! X8 {: O$ z2 X
B.threading.Thread
" e6 c4 B/ z; Q* ^( ^, DC.process' b$ U( ^ D- M, J+ {
D.PyMongoDB
2 p! S& {9 e, a' |答案:B6 |- i& x$ {7 t/ d8 C9 k) k
+ A; V8 d. C- P5 S8 u3 b, e30.在配置ios使用Charles的操作中,正确的有()" h* n: X; P3 A8 k6 W
A.对于苹果设备,首先要保证计算机和苹果设备联在同一个Wi-Fi上。
* B5 f+ y9 Y( G/ ZB.选择"HTTP代理"下面的"手动"选项卡,在"服务器"处输入计算机的IP地址,在"端口"处输入8888* N1 A8 c4 s% p( M4 p
C.输入完成代理以后按下苹果设备的Home键,设置就会自动保存。% A Z: n; Q4 |: E; H$ T8 u. E
D.安装完成证书以后,在设置中打开"关于本机",找到最下面的"证书信任设置",并在里面启动对Charles证书的完全信任
# s6 P! ]: e: `) H- i( b* c: F6 i答案:BCD# j. W) C" m) q. y, n8 F
) s* P8 f% @1 v6 i4 k
三、答案来源:谋学网(www.mouxue.com) (共 20 道试题,共 40 分)7 o) G4 s0 V; H- W- h
31.所有的异步加载都会向后台发送请求" x. K7 N4 X) x- Q, X
答案:错误 E7 `, n; X/ e. p& o% }, I
* l' h2 m1 r/ C4 |- {0 K& D* L
32.当运行爬虫代码后,出现"Forbidden by robots.txt"提示后,说明当前时间段被爬取的网站无法访问。3 p: G7 L; ]) _% ?9 S* ]9 p" B
答案:错误" l; e- v0 }% C3 s+ f9 U$ H. |0 Y
8 B7 q( W# ?% X) x( n33.Python中元组生成以后还可以往里面继续添加数据,也可以从里面删除数据;
# [3 z4 O. ]% a答案:错误0 Z s; H& ?. k6 F! R! c( C
1 _4 a2 H) H8 A2 d6 \, n4 u
34.PyMongoDB中排序方法sort第二个参数-1表示升序" {( n# @* T' Z( Z
答案:错误
, a" x8 _; _7 w/ B
|5 `& R/ u& ]. g' D' x' Q35.通用网络爬虫通常采用串行工作方式
" r/ g9 G0 J) H答案:错误2 c) y( q# @' N1 f0 C( o! m
3 C4 _/ T2 ?9 N1 c3 N0 N" v
36.Python中写CSV文件的writerows方法参数为字典类型
1 G5 [2 v3 I& @- E; i答案:错误
/ R# v2 ~3 K" R" I, T& C$ D# Z3 G$ C9 {; x1 G
37.在对XPath返回的对象再次执行XPath的时候,子XPath开头需要添加斜线7 e! _- l5 _1 D
答案:错误0 W& t- g- D# m- D1 K& e% V
4 Q1 r n" b, m6 h3 }38.MongoDB URI的格式为: mongodb://服务器IP或域名:端口@用户名:密码! D- a. ^+ ], L8 t! \$ h6 _0 B
答案:错误
( H' V6 |' Y% f% e& z
- ]$ H8 E/ o R8 x39.操作文本难以实现自动化,而操作图形界面可以容易的实现自动化。 F$ V4 [0 y, }! _
答案:错误0 X. v- O. E z# R
8 e1 C! O/ N! W& o6 @" L40.如果MongoDB运行在所在的计算机上,MONGODB_HOST应该写成"192.168.0.1"
( j8 o8 d" V [* Q) K答案:错误6 t; L+ y8 P0 r6 X2 M
# H2 X4 m" W# b
41.在Ubuntu下若要运行Redis可以使用CMD进入解压以后的文件夹并运行命令redis-server.exe redis.windows.conf启动Redis
& a! I. Q s. I) l0 Y答案:错误
$ ]& e& E! O, j9 r: b1 l' f4 B8 j Z! f6 z0 z7 q f* m, y
42.在发送请求时需要注意requests提交的请求头不能与浏览器的请求头一致,因为这样才能隐藏好自己达到获取数据的目的; i% }' O. o s3 e' J
答案:错误" q" i" N( V2 ]- ~9 I( F g# v
3 K* f# E$ G# J! m( S9 j43.Redis是遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库
8 G! r/ x' @" m6 }: r$ r$ \答案:正确& B0 }1 e: P" Y. [5 j
; X q7 v2 w) Y; t5 L# C" ?# O# E F3 K44.HTTP只能通过POST请求才能发送数据+ u% m5 P3 }6 T K* j, H
答案:错误* f" K) |# L3 F: x8 k
$ [ }3 m: |" ]8 c/ i+ X* Y
45.如果目标网站本身就是提供公众查询服务的网站,那么使用爬虫是合法合规的。
1 o- M' O7 N1 P' ] e% p答案:正确
) p4 ^/ o. m2 Y! _; i' T7 D' u& f
, [1 ~5 D2 }1 d- d1 M46.使用AJAX技术,可以在不刷新网页的情况下更新网页数据& T) U P* f5 G$ R/ q( v7 r6 O
答案:正确
' `6 ~8 m/ H# B: L
, e! X4 c+ ^. ~47."curl http://爬虫服务器IP地址:6800/cancel.json -d project=工程名 -d job=爬虫JOBID"该命令的作用是启动爬虫; C$ B: A# q, k' d. e4 h
答案:错误
: u2 i# E, d' V1 ]7 e+ Z
. y$ m5 f8 ]3 x1 Z. {- A5 w4 Y48.如果通过爬虫抓取某公司网站的公开数据,分析以后发现这个公司业绩非常好,于是首先把数据或者分析结果出售给某基金公司,然后自己再买被爬公司的股票。此时,涉嫌内幕交易,属于严重违法行为。3 i& f+ ?2 `' s& U: m) ]& {
答案:正确4 i" h) J( ~; f) y+ m% A) G( @
3 D, s: Y* c7 d3 a! S49.Redis中查询列表长度命令llen中l代表left,即从左侧开始数
; Z5 ]; E. e* W; k1 `答案:错误, w, e9 |$ c, j! f3 D+ j( g
5 B; j. k5 }# E
50.爬虫中间件的作用对象是请求request和返回response
$ |3 q3 z9 l: M* ` c答案:错误! T- [/ L- L8 N) w: T
: L3 h* V7 N* z5 d3 b" O! d2 T7 l$ l$ c9 R" L
3 r( g7 F0 B1 S& b2 F; V5 x
. L2 O2 G( N8 J4 r1 T' Y
1 b( }$ P/ N6 I8 F9 @
: q; o# B: }0 l: F# ]4 _3 a0 a
3 D, v4 J4 @4 C/ |' m9 h- X) p- x7 N8 G- O6 C' ~5 o0 W/ G
6 J8 S" f% t3 X( p7 I4 `' d. @# g. c% j- [& L
( g/ E+ c' b* e. b
3 ]7 d7 H8 y: N8 r9 J3 G |
|