文章目录
第八章 Python计算生态
8.1 计算思维
8.2 程序设计方法论
8.2.1 自顶向下设计
8.2.2 自底向上执行
8.3 计算生态
8.3.1 Python标准库
8.3.2 Python第三方库
8.4 基本的Python内置函数
8.5 实例解析——Web页面元素提取
import re
import requests
num = 0 # 给图片名字加数字
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)',
'Accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'zh-CN,zh;q=0.9'
}
# 图片页面的url
url = 'https://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fm=result&fr=&sf=1&fmq=1685684057373_R&pv=&ic=0&nc=1&z=0&hd=0&latest=0©right=0&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&dyTabStr=&ie=utf-8&sid=&word=%E9%BB%91%E5%AE%A2'
html = requests.get(url, headers=header) # 通过requests库请求到了页面
html.encoding = 'utf8' # 防止乱码
html = html.text
res = re.findall('"objURL":"(.*?)"', html) # 正则表达式,筛选出html页面中符合条件的图片源代码地址url
for i in res:
num = num + 1 # 重命名,防止重复
picture = requests.get(i) # 得到每一张图片的大图
file_name = 'C:\\Users\\Administrator\\Desktop\\图片\\' + str(num) + ".jpg" # 重命名
file = open(file_name, "wb") # 以二进制写入的方式打开图片
file.write(picture.content) # 下载图片至本文件夹
print(i) # 查看图片连接
file.close() # 结束文件操作
习题8
一、选择题
-
以下代码的运行结果为:______
counter = 1 def doLotsOfStuff(): global counter for i in (1, 2, 3): counter += 1 doLotsOfStuff() print(counter)
A 4 B 5 C 1 D 代码错误
正确答案:A
-
在程序设计范畴,计算思维不包含以下哪一项?
A 理解问题的计算特性
B 将计算特性抽象为计算问题
C 通过程序设计语言实现问题的自动求解
D 以推理和演绎为特征的逻辑思维
正确答案:D
-
以下选项中分别表示程序设计和执行方式的是:______
A 通过总结与归纳,推测事件的发展走向
B 通过分析与推理,找到语言逻辑中的漏洞
C 通过程序解决一个计算复杂的问题
D 通过逻辑推理,分析悬疑小说中的谜底
正确答案:C
-
以下选项中分别表示程序设计和执行方式的是:______
A 自顶向下;自底向上
B 自底向上;自顶向下
C 自顶向下;自顶向下
D 自底向上;自底向上
正确答案:A
-
一下不是自顶向下设计方式步骤的是:______
A 将算法表达为一系列小问题B 通过单元测试方法分解问题来运行和调试程序
C 通过将算法表达为借口关联的多个小问题来细化算法
D 为每个小问题设计程序接口
正确答案:B
-
关于测试一个中等规模程序的说法,以下错误的是:______
A 从结构图最底层开始,逐步上升
B 先运行和测试每一个基础函数,在测试由基础函数组成的整体函数
C 直接运行程序
D 采用自底向上的执行方式
正确答案:C
-
以下选项中最能体现计算机中算法含义的是:______
A 数学的计算公式B 程序设计语言的语句序列
C 对问题的精确描述
D 解决问题的精确步骤
正确答案:D
-
以下不属于Python标准库的是:______
A time B random C networkx D optparse
正确答案:C
-
以下选项中是Python第三方库的是:______
A turtle B Pyinstaller C random D math
正确答案:B
-
以下选项中不是Python内置函数的是:______
A hex() B all() C char() D sorted()
正确答案:C