学期:2021-2022学年第一学期
学 院 | 大数据与智能工程学院 | 年 级、 专 业、 班 | 18级数据科学与大数据技术(专升本)一班 | 姓 名 | 学号 | ||
---|---|---|---|---|---|---|---|
实验项目 名称 | 实现豆瓣读书主页的存储 |
实验学时: 3h 同组学生姓名: 王美琴、尤博欣、周青青、李昕辰 实验地点: 9317
实验日期: 实验成绩: 批改教师: 批改时间:
指导教师评阅:
- 实验目的:编写程序,实现豆瓣读书主页的存储
- 实验原理:requests请求、os文件写入
- 实验环境 :win10、python3.9、vscode、edge
- 实验步骤:
- 携带请求头请求豆瓣主页
- 讲返回的豆瓣主页数据保存为html文件
核心代码:
import requests
import os
if __name__ == "__main__":
# 确立目录
path = "./spider/test/code1_out"
if not os.path.exists(path):
os.makedirs(path)
# 构造请求
url = "https://book.douban.com/"
headers = {
'User-Agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 Edg/93.0.961.47'
}
strHtml = requests.get(url, headers=headers)
with open(path + "/out.html", 'w', newline="", encoding=strHtml.encoding) as f:
f.write(strHtml.text)
- 实验结果及分析:
通过requests库提供GET方法携带仿照的浏览器UA标识请求页面数据,将请求到的网页数据进行保存。
- 实验总结:
通过这次爬取豆瓣读书主页的实验,小组成员熟悉os库中各种方法来处理文件和目录,且认识到requests对象的作用是获取所有从客户端提交到服务器的请求信息,requests库中提供了5个集合,都是可以用来获取客户端对Web服务器发送的各类请求信息,我们在实验中运用到的QueryString 集合,并提供GET方法携带仿照的浏览器UA标识请求页面数据。