20194220 2019-2020-2 《Python程序设计》实验四报告
课程:《Python程序设计》
班级: 1942
姓名: 梁勇
学号:20194220
实验教师:王志强
实验日期:2020年6月7日
必修/选修: 公选课
1.实验内容
Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全等
我选择了,爬虫获取数据
2. 实验过程及结果
首先看书了解爬虫
爬虫的原理是从一个链接开始发送HTTP请求来连接,然后得到内容。
爬虫执行流程:
1、发送请求request
2、获取响应内容 response
3、解析内容
做好准备工作
1、下载urllib模块
windows可以使用下列命令进行安装
pip install urllib(其实我的python3.8自带了这个模块,直接导入就好了)
2、学习Request函数的使用
开始构思
1、首先想好要抓取什么网站,因为想不到什么,就干脆去找豆瓣排行榜
2、确定URL格式
我要抓取的豆瓣电影 Top 250,地址是https://movie.douban.com/top250?start=
3、进行页面抓取
页面抓取需要用刚才导入的urllib库。
因此先定义一个类名MovieTop,然后在类中定义好获取页面的方法和初始化方法:
class MovieTop(object):
def __init__(self):
self.start = 0
self.param = '&filter='
self.headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64)'}
self.movie_list = []
self.file_path = 'D:\综合实践.txt'
def get_page(self):
try:
url = 'https://movie.douban.com/top250?start=' + str(self.start)
req = request.Request(url, headers = self.headers)
response = request.urlopen(req)
page = response.read().decode('utf-8')
page_num = (self.start + 25)//25
print(f'正在抓取第{str(page_num)}页数据...')
self.start += 25
return page
except request.URLError as e:
if hasattr(e,'reason'):
print(f'抓取失败,失败原因:{e.reason}')
4、可以提取信息了,但是