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")

)

python爬虫期末复习的更多相关文章

  1. Python爬虫突破封禁的6种常见方法

    转 Python爬虫突破封禁的6种常见方法 2016年08月17日 22:36:59 阅读数:37936 在互联网上进行自动数据采集(抓取)这件事和互联网存在的时间差不多一样长.今天大众好像更倾向于用 ...

  2. Python爬虫学习三------requests+BeautifulSoup爬取简单网页

    第一次第一次用MarkDown来写博客,先试试效果吧! 昨天2018俄罗斯世界杯拉开了大幕,作为一个伪球迷,当然也得为世界杯做出一点贡献啦. 于是今天就编写了一个爬虫程序将腾讯新闻下世界杯专题的相关新 ...

  3. Python 爬虫模拟登陆知乎

    在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了 ...

  4. python爬虫成长之路(一):抓取证券之星的股票数据

    获取数据是数据分析中必不可少的一部分,而网络爬虫是是获取数据的一个重要渠道之一.鉴于此,我拾起了Python这把利器,开启了网络爬虫之路. 本篇使用的版本为python3.5,意在抓取证券之星上当天所 ...

  5. python爬虫学习(7) —— 爬取你的AC代码

    上一篇文章中,我们介绍了python爬虫利器--requests,并且拿HDU做了小测试. 这篇文章,我们来爬取一下自己AC的代码. 1 确定ac代码对应的页面 如下图所示,我们一般情况可以通过该顺序 ...

  6. python爬虫学习(6) —— 神器 Requests

    Requests 是使用 Apache2 Licensed 许可证的 HTTP 库.用 Python 编写,真正的为人类着想. Python 标准库中的 urllib2 模块提供了你所需要的大多数 H ...

  7. 批量下载小说网站上的小说(python爬虫)

    随便说点什么 因为在学python,所有自然而然的就掉进了爬虫这个坑里,好吧,主要是因为我觉得爬虫比较酷,才入坑的. 想想看,你可以批量自动的采集互联网上海量的资料数据,是多么令人激动啊! 所以我就被 ...

  8. python 爬虫(二)

    python 爬虫 Advanced HTML Parsing 1. 通过属性查找标签:基本上在每一个网站上都有stylesheets,针对于不同的标签会有不同的css类于之向对应在我们看到的标签可能 ...

  9. Python 爬虫1——爬虫简述

    Python除了可以用来开发Python Web之后,其实还可以用来编写一些爬虫小工具,可能还有人不知道什么是爬虫的. 一.爬虫的定义: 爬虫——网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区 ...

随机推荐

  1. java自定义序列化

    自定义序列化 1.问题引出 在某些情况下,我们可能不想对于一个对象的所有field进行序列化,例如我们银行信息中的设计账户信息的field,我们不需要进行序列化,或者有些field本省就没有实现Ser ...

  2. 通过python来获取网页状态

    #!/usr/bin/python import sys,httplibfrom optparse import OptionParserusageString = "Usage: %pro ...

  3. react之redux状态管理

    1.传统MVC框架的缺陷 模型(model)-视图(view)-控制器(controller)的缩写 V即View视图:用户看到并与之交互的界面. M即Model模型是管理数据:很多业务逻辑都在模型中 ...

  4. 学不懂Netty?看不懂源码?不存在的,这篇文章手把手带你阅读Netty源码!

    阅读这篇文章之前,建议先阅读和这篇文章关联的内容. 1. 详细剖析分布式微服务架构下网络通信的底层实现原理(图解) 2. (年薪60W的技巧)工作了5年,你真的理解Netty以及为什么要用吗?(深度干 ...

  5. [noi239]count

    将每一个ai表示为$ai=ki\cdot m+ri$,即满足$m\sum ki+\sum ri=n$且$0<ri<m$枚举$S=\sum ri$(S范围是$k\le S\le k(m-1) ...

  6. C/C++ Qt ToolBar 菜单组件应用

    ToolBar工具栏在所有窗体应用程序中都广泛被使用,使用ToolBar可以很好的规范菜单功能分类,用户可根据菜单栏来选择不同的功能,Qt中默认自带ToolBar组件,当我们以默认方式创建窗体时,To ...

  7. 查询某个信息下只有一条数据的sql

  8. Jenkins快速上手安装

    目录 环境准备 - JDK 安装 1. APT 安装 2. WAR包方式运行 3.Docker 方式运行 Jenkins 是一个独立的开源自动化服务器,可以用来自动化与构建.测试.交付或部署软件相关的 ...

  9. Codeforces 889E - Mod Mod Mod(dp+状态设计)

    Codeforces 题目传送门 & 洛谷题目传送门 题目名称 hopping 我们记 \(x_i=X\bmod a_1\bmod a_2\bmod\dots\bmod a_i\),也就是 \ ...

  10. 制作nc文件(Matlab)

    首先看一个nc文件中包含哪些部分,例如一个标准的 FVCOM 输入文件 wind.nc: netcdf wind { dimensions: nele = 36858 ; node = 18718 ; ...