前段时间做了一个关于豆瓣电影的爬虫,之后又写了一个陈奕迅歌词的词云制作,于是我想不如做一个关于豆瓣高分电影导演的词云试试,于是有了接下来这篇随笔。

首先,我需要知道豆瓣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的导演制作图云相关推荐

  1. Python爬虫入门(爬取豆瓣电影信息小结)

    Python爬虫入门(爬取豆瓣电影信息小结) 1.爬虫概念 网络爬虫,是一种按照一定规则,自动抓取互联网信息的程序或脚本.爬虫的本质是模拟浏览器打开网页,获取网页中我们想要的那部分数据. 2.基本流程 ...

  2. python爬虫,Scrapy爬取豆瓣电影《芳华》电影短评,分词生成词云图。

    项目github地址:https://github.com/kocor01/scrapy_cloud Python版本为3.6 自己写的简单架构<python爬虫,爬取豆瓣电影<芳华> ...

  3. python爬虫爬取豆瓣电影信息城市_Python爬虫入门 | 2 爬取豆瓣电影信息

    这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬 ...

  4. Python爬虫实战 | (3) 爬取豆瓣电影Top250

    在本篇博客中,我们将使用requests+正则表达式来爬取豆瓣电影TOP250电影榜单,获取每部电影的序号.片名.导演.编剧.主演.类型.制作国家/地区.语言.上映日期.片长.又名.豆瓣评分和剧情简介 ...

  5. 爬虫实战:爬取豆瓣电影 Top-250 到 Excel 表格中

    最近在家无聊自学了python的一些基础知识.后来看到许多朋友都在写爬虫,自己感觉很有意思,也想试一下 >____< 其实本来我是想将数据爬取到excel之后再增加一些数据库操作,然后用f ...

  6. python爬虫豆瓣电影短评_【Python爬虫】BeautifulSoup爬取豆瓣电影短评

    目的:爬取豆瓣[红海行动]电影的首页短评 步骤: 1.使用BeautifulSoup解析网页 soup = BeautifulSoup(r, 'lxml') // lxml 库解析速度快,也能解析复杂 ...

  7. Python爬虫实战(爬取豆瓣电影)

    首先介绍一下python的几个库,python之所以在实现爬虫方面有独特的优势,在于其类库非常的丰富,基本涵盖了所有的需求,只要找到对应的库进行import,这就类似于Java中导入类库或者jar包那 ...

  8. Python Scrapy 爬虫入门: 爬取豆瓣电影top250

    一.安装Scrapy cmd 命令执行 pip install scrapy 二.Scrapy介绍 Scrapy是一套基于Twisted的异步处理框架,是纯python实现的爬虫框架,用户只需要定制开 ...

  9. Python爬虫入门 | 7 分类爬取豆瓣电影,解决动态加载问题

      比如我们今天的案例,豆瓣电影分类页面.根本没有什么翻页,需要点击"加载更多"新的电影信息,前面的黑科技瞬间被秒--   又比如知乎关注的人列表页面:   我复制了其中两个人昵称 ...

最新文章

  1. 利用Javadoc工具生成api文档
  2. 分区表导入导出[未完]
  3. 粗虚线和细虚线_建筑图纸的细线,粗线,虚线表示什么
  4. SAP SuccessFactor学习中心的通知机制
  5. python中如何标识语句块_如何用python在一个块中编写多个try语句?
  6. 开发者说丨如何从零开始构建一个轻量级应用
  7. python爬虫设置代理ip_python爬虫使用代理ip或请求头的问题
  8. java 汉字按照拼音排序
  9. 阿里P7的大数据简历,牛逼!
  10. 信息论里的信息熵到底是什么含义?互信息的定义
  11. python通配符_Python通配符一览
  12. FTP下载工具的使用
  13. Windows10电脑进行拨号连接时,无法共享热点?如何解决?多次尝试后,终于解决了。
  14. LeetCode 739. 每日温度 | Python
  15. [ZZ]什么是Google Urchin:了解Urchin与Google Analytics差异
  16. 为什么计算机无法读取u盘,U盘无法被电脑识别怎么办?
  17. DisGeNET的初步认识
  18. OL3矢量图层样式自定义
  19. 做一只展翅翱翔的雄鹰
  20. 小米捧红氮化镓快充?看完此文让你秒懂氮化镓!

热门文章

  1. display属性最详解
  2. CMDB、bk-cmdb、Adminset 开源cmdb运维平台
  3. 新政出台,网络货运推动物流高质量发展
  4. java招聘系统_基于java的网上招聘系统的设计与实现.doc
  5. Java之构造函数 翔细开VAP.
  6. Web前端开发神器:WebStorm 2019 for mac
  7. 抓包就明白CoreDNS域名解析
  8. Win10+Ubuntu18.04 亲测UEFI启动模式双硬盘+双系统成功安装经验
  9. 极简-windows电脑端接收手机验证码(python简易服务器处理get请求)
  10. profinet网关为何采用modbus协议转换?