| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 豆瓣电影top250爬虫+数据可视化分析 -> 正文阅读 |
|
[Python知识库]豆瓣电影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结果 电影详情链接、图片链接、影片中文名、影片外国名、评分、评价数等。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 3:47:25- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |