python爬虫期末复习
python期末复习
选择题
-
以下选项中合法的是(A)。
A 爬取百度的搜索结果 B 爬取淘宝的商品数据
C 出售同学的个人信息 D 为高利贷提供技术服务
-
网站的根目录下有一个文件告诉爬虫哪些内容可以被爬取,这个文件叫做(D)。
A rule.txt B spider.txt
C network.txt D robots.txt
-
以下选项中无法只用爬虫完成的是(B)。
A 使用自己的账号登陆微博 B 访问Google首页
C 查看自己在b站的历史记录 D 在百度中搜索自己的名字
-
Requests模块不能做到(A)。
A 打开浏览器 B 模拟get请求
C 模拟post请求 D 伪装成浏览器
-
Requests模块中,headers参数的作用是(B)。
A 输入网址 B 模拟浏览器
C 提供ip代理 D 设置超时时间
-
一个网址中的HOST实际上是一个(C)。
A mac地址 B 物理地址
C IP地址 D 服务器
-
http状态码中表示访问成功的是(A)。
A 200 B 501 C 503 D404
-
以下选项中哪一个不是正则表达式的元字符(A)。
A @ B $ C ^ D *
-
浏览器开发者工具不能做到的是(D)。
A 修改html源代码 B 查看http请求 C 查看网页源代码 D 模拟鼠标点击
-
在python中将字典转化为json,以下选项正确的是(D)。
A json.load() B json.loads() C json.dump() D json.dumps()
-
使用selenium模块打开谷歌浏览器,以下选项中正确的是(D)。
A webdriver.Google B webdriver.Google()
C webdriver.Chrome D webdriver.Chrome()
-
网页是由html代码组成的,以下选项中哪一项是html代码(C)。
A int a = 3 B import pages C <div id = ‘html'> D hello,world
-
Selenium中提供了多种元素定位方法,但不包括以下选项中的(B)。
A find_element_by_id() B find_element_by_page()
C find_element_by_xpath() D find_element_by_class_name()
-
<div id="wrapper" class="wrapper_new">
,使用selenium中的方法定位该标签,以下选项中正确的是(A)。A find_element_by_id("wrapper")
B find_element_by_id("wrapper_new ")
C find_element_by_class("wrapper_new ")
D 以上都可以
-
switch_to.window()的作用是(C)。
A 切换到另一个浏览器 B 切换到另一个框架
C 切换到另一个标签页 D 切换到windows系统桌面
-
switch_to.frame()的作用是(B)。
A 切换到另一个浏览器 B 切换到另一个框架
C 切换到另一个标签页 D 切换到windows系统桌面
-
关于open函数的操作模式,以下选项中哪一种既可以读也可以写(C)。
A a B w C a+ D wb
-
Redis数据库不含有以下哪种函数(C)。
A get() B set() C sql() D Redis()
19.使用matplotlib绘制散点图,使用的函数是(A)。
A scatter() B plot() C bar() D grid()
-
使用matpltlib绘制柱状图,若希望柱子有两种颜色,以下选项中正确是(B)。
A color1 =‘r‘ ,color2=’y’ B color=[‘r’,’y’]
C color = 2 D color=[1,2]
填空题
爬虫是一种____程序____。
https协议在http协议的基础之上添加了____SSL____。
http翻译成中文是____超文本传输协议____。
post方法将要提交的数据放置在____http包体____中。
一个url的参数若有多个,则它们之间用符号____&____分隔。
_session_和_cookie_是用于保持HTTP连接状态的技术。
Selenium主要支持的浏览器有____火狐和____谷歌_。
Selenium的使用除了python模块,还需要____浏览器驱动/webdriver____。
Xpath可以从____浏览器开发者工具____中获取。
Selenium中使用____.text____获取某个元素显示在网页上的文本。
Selenium中使用____get_atrribute()___获取某个标签的其他属性。
表示匹配任意数字的正则表达式是____[0-9]____。
表示匹配空行的正则表达式是____^$____。
numpy模块中圆周率的表示方式是____numpy.pi___。
词云图可以通过____pyecharts____模块绘制。
Python中使用____sleep(3)____函数将程序暂停3秒。
判断题
爬虫必须用python编写。 X
网站中的robots.txt可以无视。 X
爬虫是一种编程语言。 X
http协议中有get方法和post方法。 √
访问百度首页必须使用post方法。 X
http协议翻译为中文是超文本传输协议。 √
get方法比post方法快。 √
get方法相比post方法能携带更多信息。 X
正则表达式使用的模块名是re。 √
正则表达式中$代表行首。 X
正则表达式中.*代表匹配任意内容。 √
Selenium的webdriver的版本必须和浏览器的版本相对应。 √
Selenium中模拟鼠标点击的函数是send_keys()。 X
Selenium中不支持使用xpath定位元素。 X
Open函数中w代表只读模式。 X
Open函数中a代表追加写模式。 √
Python中使用open函数将图片写入硬盘,其操作模式为“wb”。 √
Matplotlib默认支持中文。 X
Matplotlib可以绘制柱状图。 √
Pyecharts可以绘制词云图。 √
编程题
- 使用requests模块访问https://www.baidu.com并输出其状态码
import requests
url = 'https://www.baidu.com'
res = requests.get(url)
code = res.status_code
print(code)
- 使用requests模块,将如下url中的参数提取出来单独作为参数并访问这个url。
'https://www.tissotwatches.cn/physicalstore/index/ajaxSearchStore/'?storeCity=苏州&storeProvince=江苏'
import requests
url = 'https://www.tissotwatches.cn/physicalstore/index/ajaxSearchStore/'
params = {"storeCity" : "苏州", "storeProvince" : "江苏"}
res = requests.get(url, params = params)
print(res.status_code)
- 现已使用python编写了一个爬虫,获取到某网站的部分html代码,在给出代码的基础上使用正则表达式将医院的名称输出。
import re
html_code="<a href="/shijingshan/68393/"
target="_blank"
title="首都医科大学附属北京朝阳医院西院">
首都医科大学附属北京朝阳医院西院</a>"
pattern = r’title=”(.*)”>’
res = re.findall(pattern, html_code)
print(res[0])
4. 编写一个python程序,参考附录中的内容,使用python中的selenium模块完成以下内容:
a. 打开火狐浏览器
b. 访问百度首页
c. 在百度首页的文本输入框中输入“苏州信息职业技术学院”
d. 点击“百度一下”按钮
附录1:百度首页中输入框对应的html代码
`<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">`
附录2:百度首页中“百度以下”按钮对应的html代码
`<input type="submit" id="su" value="百度一下" class="bg s_btn">`
From selenium import webdriver
Browser = webdriver.Firefox()
Browser.get(“https://www.baidu.com”)
Browser.find_element_by_id(‘kw’).send_keys(“苏州信息职业技术学院”)
Browser.find_element_by_id(‘su’).click()
5. 使用numpy模块和matplotlib绘制一个圆
import numpy as np
from matplotlib import pyplot as plt
t = np.linspace(-np.pi, np.pi, 250)
x = np.cos(t)
y = np.sin(t)
plt.plot(x,y)
plt.show()
6. 给出一个数据集data,使用pyecharts模块绘制data对应的词云图。
Data = []
from pyecharts.charts import WordCloud
(
WordCloud()
.add(data_pair=data)
.render("basic_wordcloud.html")
)