项目二 数据保存处理 练习题答案_第1页
项目二 数据保存处理 练习题答案_第2页
项目二 数据保存处理 练习题答案_第3页
项目二 数据保存处理 练习题答案_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

练习题(参考答案)1.下面有一段代码,请填空补充完整。#创建保存图片的目录

save_dir="d:/htmlimages"

ifnot【1】os.path.exists(save_dir):

os.【2】makedirs(save_dir)#如果保存图片的目录不存在,则创建该目录。使用os.path.exists()函数判断目录是否存在,如果不存在则使用os.makedirs()函数递归创建目录。

#请求网页

url="http://localhost/index.html"

response=requests.get(url)

#解析HTML

soup=BeautifulSoup(response.text,"html.parser")

#获取所有图片标签

image_tags=soup.find_all("img")

#下载图片并保存到指定目录

fori,imginenumerate(image_tags):

src=【3】img["src"]#获取当前循环中<img>标签的"src"属性值,并将其赋值给变量src。

image_url=f"{url}/{src}"

file_name=f"t{i+1}.jpg"

file_path=os.path.【4】join(save_dir,file_name)#使用os.path.join()函数将保存图片的目录路径和文件名拼接起来,生成图片的完整路径,赋值给变量file_path。

response=requests.get(image_url)

【5】withopen(file_path,"wb")asf:#以二进制写入模式打开file_path指定的文件,并将图片的二进制内容(response.content)写入文件中。使用with语句可以自动关闭文件。

f.write(response.content)

print(f"已保存图片:{file_path}")2.下面有一段代码,请填空补充完整。ifresponse.【1】status_code==200:#判断HTTP响应状态码是否为200,即判断请求是否成功。

html_content=response.text

#使用BeautifulSoup解析HTML内容

soup=BeautifulSoup(html_content,"html.parser")

#找到指定的<divclass="notice">标签并获取其中的文本

notice_div=soup.find("div",【2】class_="notice")

ifnotice_div:

notice_text=notice_div.【3】get_text()#获取notice_div标签的文本内容,并将其赋值给变量notice_text。

#将结果保存到文件

file_path=r"d:\data\通知.doc"#以写入模式打开file_path指定的文件,并使用UTF-8编码。使用with语句可以自动关闭文件。

withopen(file_path,"w",【4】encoding="utf-8")asfile:

【5】file.write(notice_text)#将通知内容notice_text写入文件。

print("已将通知内容保存到",file_path)

else:

print("未找到指定的通知内容")

else:

print("请求失败,状态码:",response.status_code)3.下面有一段代码,请填空补充完整。#发送GET请求并获取网页内容

url="http://localhost/index.html"

response=requests.get(url)

response.encoding='utf8'

html_content=response.text

#使用BeautifulSoup解析网页内容

soup=BeautifulSoup(html_content,'html.parser')

table=soup.find(【1】'table')#在解析后的HTML文档中查找第一个符合条件的<table>标签,并将结果存储在变量table中。

rows=table.【2】find_all('tr')#获取销售表格的所有行

#创建一个空列表来存储销售数据

sales_data=[]

#遍历每一行,提取销售数据

forrowinrows[1:]:#跳过表头行

cells=row.find_all(【3】'td')#在当前行中查找所有符合条件的<td>标签,并将结果存储在变量cells中。

branch=【4】cells[0].text#获取cells列表中第一个元素的文本内容,并将其赋值给变量branch。

sales=【5】cells[1].text#获取cells列表中第二个元素的文本内容,并将其赋值给变量sales。

profit=cells[2].text

order_count=cells[3].text

#将销售数据添加到列表中

sales_data.append((branch,sales,profit,order_count))

4.下面有一段代码,请填空补充完整。#设置请求头,模拟浏览器行为

headers={

'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/58.0.3029.110Safari/537.3'}

#发送GET请求,获取网页内容

url='http://localhost/index.html'

response=requests.get(url,headers=【1】headers)

html=response.【2】text

#使用BeautifulSoup解析网页内容

soup=BeautifulSoup(html,'html.parser')

#以写入模式打开指定路径下的文件"d:\data\picture.doc",并将文件对象赋值给变量f。

withopen('d:\\data\\picture.doc','w')as【3】f:

forimginsoup.find_all('img'):#在解析后的HTML文档中查

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论