1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 豆瓣电影top250爬虫+数据可视化分析

豆瓣电影top250爬虫+数据可视化分析

时间:2023-07-30 05:49:00

相关推荐

豆瓣电影top250爬虫+数据可视化分析

我们本次的项目主要是爬取豆瓣top250的电影详情链接,图片链接,影片中外文名,评分,评价数等数据,并作数据的持久化处理(即存放到excel中)。在本次项目中,我主要负责页面数据的获取以及数据的存储,利用urllib库获取页面,再利用python库xlwt将爬取的数据datalist写入Excel表格中。

本项目需要实现的模块:

爬虫调度器:爬虫调度器只要负责统筹其他四个模块的协调工作;

URL 管理器:负责管理 URL 链接,维护已经爬取的 URL 集合和未爬取的 URL 集合,提供获取新 URL 链接接口;

HTML 下载器:用于从 URL 管理器中获取未爬取的 URL 链接并下载 HTML 网页;

HTML 解析器:用于从 HTML 下载器中获取已经下载的 HTML 网页,并从中解析出新的 URL 交给 URL 管理器,解析出有效数据交给数据存储器;

数据存储器:用于将 HTML 解析器解析出来的数据通过文件或者数据库形式存储起来。

爬虫思路如下:

1.首先通过浏览器查看目标网页并借助Chrome开发者工具(F12)来分析网页,在Elements下找到需要的数据位置,然后通过HTTP库向目标站点发起请求,请求包含了额外的header等信息,如果服务器能正常响应,就会得到一个Response,这便是所要获取的页面内容。

2.获取页面数据:

先定义一个获取页面的函数askURL,再传入一个url参数表示网址,如豆瓣电影 Top 2500;

然后urllib.Request生成请求;

urllib.urlopen发送请求获取响应;

read获取页面内容;

由于在访问页面时经常会出现错误,为了程序正常运行,加入异常捕获try...except...语句。

3.对爬取的html文件进行解析:

使用BeautifulSoup定位特定的标签位置:创建BeautifulSoup对象,通过页面解析器找到能够完整提取出一部影片的内容的项;

使用正则表达式找到具体的内容:创建需要提取的项的模式对象,根据对象的正则表达式抽取,通过data存储每一部电影抽取的结果,datalist存储所有电影解析的结果。

4.数据可视化:

获取数据;

解析数据;

保存数据;

通过词云输出想要的结果,将评分排名关系可视化。

5.数据存储:利用python库xlwt将抽取的数据datalist写入Excel表格,先以utf-8编码创建一个Excel对象,然后创建一个sheet表,再往单元格内写入内容,最后保存表格。

6.Excel结果

电影详情链接、图片链接、影片中文名、影片外国名、评分、评价数等。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。