爬虫+词云:爬取豆瓣电影top100的导演制作图云
前段时间做了一个关于豆瓣电影的爬虫,之后又写了一个陈奕迅歌词的词云制作,于是我想不如做一个关于豆瓣高分电影导演的词云试试,于是有了接下来这篇随笔。
首先,我需要知道豆瓣top100电影详情页面的url,以便爬取对应导演。在豆瓣电影top250界面
def get_urls(self):while(self.page<4):#得到当前页面的urlurl = self.cur_url.format(page = self.page*25)#获取当前页面所有内容text = self.Downloader.download(url)#将下载页面进行解析得到需要的urlurls = self.Parser.get_urls(text)#将当前获取的url加入url管理器中 self.URL_manager.add_urls(urls)#继续下一页的url添加self.page += 1
在得到top100电影详情界面的url之后,需要对这些详情页面下载,然后进行解析,我使用的是beautiulsoup,得到需要的导演名字。
def craw(self):print("开始搜集导演信息")datas = list()titles = list()#data = list()num = 0while self.URL_manager.has_new_url():try:#获取一个电影详情页面的urlurl = self.URL_manager.get_url()#将这个页面下载text = self.Downloader.download(url)#对这个页面进行解析,获得需要的内容data= self.Parser.get_datas(text)for item in data:datas.append(item)#titles.append(title)print("top %d:%s"%(num,item))num += 1except:print("craw failed!")#将数据存入本地 self.Outputer.save(datas)print("done")
爬虫部分的内容差不多了,接下来要做的就是对爬取的数据进行分析,得到词云
import wordcloud from PIL import Image import numpy as np import jieba import jieba.analyse from matplotlib import pyplot as pltclass WC_dires(object):"""docstring for WC_dirs"""def __init__(self):self.path = r"F:/Python_Program/douban/director/spider/directors.txt"def Read_text(self):lyric = ''try:f = open(self.path,'r')lyric = f.read()return lyricexcept:print("open file error!")return Nonefinally:f.close()def Analyse(self,text):results = jieba.analyse.extract_tags(text,topK = 100)return resultsdef Draw(self,results):image = np.array(Image.open(r'F:/Python_Program/douban/director/dires.png'))wc = wordcloud.WordCloud(background_color = 'white',max_words = 100,mask = image,stopwords = wordcloud.STOPWORDS,font_path = 'C:\Windows\Fonts\STZHONGS.TTF')cut_results = " ".join(results)wc.generate(cut_results)plt.figure()plt.imshow(wc)plt.axis("off")plt.show()def main():we = WC_dires()text = we.Read_text()data = we.Analyse(text)#for item in data:# print(item) we.Draw(data)if __name__ == "__main__":main()
附上github上的源码
转载于:https://www.cnblogs.com/HJhj/p/7682668.html
爬虫+词云:爬取豆瓣电影top100的导演制作图云相关推荐
- Python爬虫入门(爬取豆瓣电影信息小结)
Python爬虫入门(爬取豆瓣电影信息小结) 1.爬虫概念 网络爬虫,是一种按照一定规则,自动抓取互联网信息的程序或脚本.爬虫的本质是模拟浏览器打开网页,获取网页中我们想要的那部分数据. 2.基本流程 ...
- python爬虫,Scrapy爬取豆瓣电影《芳华》电影短评,分词生成词云图。
项目github地址:https://github.com/kocor01/scrapy_cloud Python版本为3.6 自己写的简单架构<python爬虫,爬取豆瓣电影<芳华> ...
- python爬虫爬取豆瓣电影信息城市_Python爬虫入门 | 2 爬取豆瓣电影信息
这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬 ...
- Python爬虫实战 | (3) 爬取豆瓣电影Top250
在本篇博客中,我们将使用requests+正则表达式来爬取豆瓣电影TOP250电影榜单,获取每部电影的序号.片名.导演.编剧.主演.类型.制作国家/地区.语言.上映日期.片长.又名.豆瓣评分和剧情简介 ...
- 爬虫实战:爬取豆瓣电影 Top-250 到 Excel 表格中
最近在家无聊自学了python的一些基础知识.后来看到许多朋友都在写爬虫,自己感觉很有意思,也想试一下 >____< 其实本来我是想将数据爬取到excel之后再增加一些数据库操作,然后用f ...
- python爬虫豆瓣电影短评_【Python爬虫】BeautifulSoup爬取豆瓣电影短评
目的:爬取豆瓣[红海行动]电影的首页短评 步骤: 1.使用BeautifulSoup解析网页 soup = BeautifulSoup(r, 'lxml') // lxml 库解析速度快,也能解析复杂 ...
- Python爬虫实战(爬取豆瓣电影)
首先介绍一下python的几个库,python之所以在实现爬虫方面有独特的优势,在于其类库非常的丰富,基本涵盖了所有的需求,只要找到对应的库进行import,这就类似于Java中导入类库或者jar包那 ...
- Python Scrapy 爬虫入门: 爬取豆瓣电影top250
一.安装Scrapy cmd 命令执行 pip install scrapy 二.Scrapy介绍 Scrapy是一套基于Twisted的异步处理框架,是纯python实现的爬虫框架,用户只需要定制开 ...
- Python爬虫入门 | 7 分类爬取豆瓣电影,解决动态加载问题
比如我们今天的案例,豆瓣电影分类页面.根本没有什么翻页,需要点击"加载更多"新的电影信息,前面的黑科技瞬间被秒-- 又比如知乎关注的人列表页面: 我复制了其中两个人昵称 ...
最新文章
- 利用Javadoc工具生成api文档
- 分区表导入导出[未完]
- 粗虚线和细虚线_建筑图纸的细线,粗线,虚线表示什么
- SAP SuccessFactor学习中心的通知机制
- python中如何标识语句块_如何用python在一个块中编写多个try语句?
- 开发者说丨如何从零开始构建一个轻量级应用
- python爬虫设置代理ip_python爬虫使用代理ip或请求头的问题
- java 汉字按照拼音排序
- 阿里P7的大数据简历,牛逼!
- 信息论里的信息熵到底是什么含义?互信息的定义
- python通配符_Python通配符一览
- FTP下载工具的使用
- Windows10电脑进行拨号连接时,无法共享热点?如何解决?多次尝试后,终于解决了。
- LeetCode 739. 每日温度 | Python
- [ZZ]什么是Google Urchin:了解Urchin与Google Analytics差异
- 为什么计算机无法读取u盘,U盘无法被电脑识别怎么办?
- DisGeNET的初步认识
- OL3矢量图层样式自定义
- 做一只展翅翱翔的雄鹰
- 小米捧红氮化镓快充?看完此文让你秒懂氮化镓!
热门文章
- display属性最详解
- CMDB、bk-cmdb、Adminset 开源cmdb运维平台
- 新政出台,网络货运推动物流高质量发展
- java招聘系统_基于java的网上招聘系统的设计与实现.doc
- Java之构造函数 翔细开VAP.
- Web前端开发神器:WebStorm 2019 for mac
- 抓包就明白CoreDNS域名解析
- Win10+Ubuntu18.04 亲测UEFI启动模式双硬盘+双系统成功安装经验
- 极简-windows电脑端接收手机验证码(python简易服务器处理get请求)
- profinet网关为何采用modbus协议转换?