python爬虫期末复习

python期末复习

选择题

  1. 以下选项中合法的是(A)。

    A 爬取百度的搜索结果 B 爬取淘宝的商品数据

    C 出售同学的个人信息 D 为高利贷提供技术服务

  2. 网站的根目录下有一个文件告诉爬虫哪些内容可以被爬取,这个文件叫做(D)。

    A rule.txt B spider.txt

    C network.txt D robots.txt

  3. 以下选项中无法只用爬虫完成的是(B)。

    A 使用自己的账号登陆微博 B 访问Google首页

    C 查看自己在b站的历史记录 D 在百度中搜索自己的名字

  4. Requests模块不能做到(A)。

    A 打开浏览器 B 模拟get请求

    C 模拟post请求 D 伪装成浏览器

  5. Requests模块中,headers参数的作用是(B)。

    A 输入网址 B 模拟浏览器

    C 提供ip代理 D 设置超时时间

  6. 一个网址中的HOST实际上是一个(C)。

    A mac地址 B 物理地址

    C IP地址 D 服务器

  7. http状态码中表示访问成功的是(A)。

    A 200 B 501 C 503 D404

  8. 以下选项中哪一个不是正则表达式的元字符(A)。

    A @ B $ C ^ D *

  9. 浏览器开发者工具不能做到的是(D)。

    A 修改html源代码 B 查看http请求 C 查看网页源代码 D 模拟鼠标点击

  10. 在python中将字典转化为json,以下选项正确的是(D)。

    A json.load() B json.loads() C json.dump() D json.dumps()

  11. 使用selenium模块打开谷歌浏览器,以下选项中正确的是(D)。

    A webdriver.Google B webdriver.Google()

    C webdriver.Chrome D webdriver.Chrome()

  12. 网页是由html代码组成的,以下选项中哪一项是html代码(C)。

    A int a = 3 B import pages C <div id = ‘html'> D hello,world

  13. Selenium中提供了多种元素定位方法,但不包括以下选项中的(B)。

    A find_element_by_id() B find_element_by_page()

    C find_element_by_xpath() D find_element_by_class_name()

  14. <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 以上都可以

  15. switch_to.window()的作用是(C)。

    A 切换到另一个浏览器 B 切换到另一个框架

    C 切换到另一个标签页 D 切换到windows系统桌面

  16. switch_to.frame()的作用是(B)。

    A 切换到另一个浏览器 B 切换到另一个框架

    C 切换到另一个标签页 D 切换到windows系统桌面

  17. 关于open函数的操作模式,以下选项中哪一种既可以读也可以写(C)。

    A a B w C a+ D wb

  18. Redis数据库不含有以下哪种函数(C)。

    A get() B set() C sql() D Redis()

19.使用matplotlib绘制散点图,使用的函数是(A)。

​ A scatter() B plot() C bar() D grid()

  1. 使用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可以绘制词云图。 √

编程题

  1. 使用requests模块访问https://www.baidu.com并输出其状态码
import requests
url = 'https://www.baidu.com'
res = requests.get(url)
code = res.status_code
print(code)
  1. 使用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)
  1. 现已使用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")

)

上一篇:EFCore Lazy Loading + Inheritance = 干净的数据表 (二) 【献给处女座的DB First程序猿】


下一篇:处女座与cf-模拟