zoukankan      html  css  js  c++  java
  • 爬虫大作业

    1.选一个自己感兴趣的主题(所有人不能雷同)。

    2.用python 编写爬虫程序,从网络上爬取相关主题的数据。

    3.对爬了的数据进行文本分析,生成词云。

    4.对文本分析结果进行解释说明。

    5.写一篇完整的博客,描述上述实现过程、遇到的问题及解决办法、数据分析思想及结论。 

    这次大作业选的主题是豆丁网的文档里关于IT计算机的主题的主要讨论是哪些推测哪些比较重要,

    所以是先进入豆丁网的IT计算机页面:http://www.docin.com/l-10017-0-0-0-0-1.html

    <1>.实现过程:

    (1)由下图可以获取IT计算机版块标题:打开开发者工具,我要找的内容在a标签里class=“goToDocs”,保存1~19页的题目,并保存在ITcomputer.txt。

    # 保存1~19页的题目
    for i in range(1,20):
            pages = i;
            nexturl = 'http://www.docin.com/l-10017-0-0-0-0-%s.html' % (pages)
            reslist = requests.get(nexturl)
            reslist.encoding = 'utf-8'
            soup_list = BeautifulSoup(reslist.text, 'html.parser')
            for news in soup_list.find_all('a',class_='goToDocs'):
                print(news.text)
                f = open('ITcomputer.txt', 'a', encoding='utf-8')
                f.write(news.text)
                f.close()

    图1-1

    (2)把所有题目里的多余符号和信息去掉,保存为字典

    def changeTitleToDict():
        f = open("ITcomputer.txt", "r", encoding='utf-8')
        str = f.read()
        stringList = list(jieba.cut(str))
        delWord = {"+",".","_", "/", "(", ")","..","(",")", "【", "】", ", "," ",":", ";", "!", "、","论文","的","毕业","-","D","—","[","]","毕业设计","与","及","之","中","在","和"}
        stringSet = set(stringList) - delWord
        title_dict = {}
        for i in stringSet:
            title_dict[i] = stringList.count(i)
        return title_dict
    

     字典内容:

    {'说明书': 8, '完整版': 8, 'LITERATURE': 2, '变频器': 2, '统计分析': 2, '匹配': 2, '现状': 2, '套': 2, '可': 2, '辛醇': 2, '型': 2, 'div': 2, '数控系统': 2, '常见问题': 2, '流失': 2, '微机': 8, '之花': 2, '2016': 4, '艺术设计': 2, '2017': 2, '停车场': 2, '轻松': 2, 'CRC': 2, '第三章': 6, 'MCS': 4, '标记': 2, 'Ⅱ': 2, '实例教程': 2, '快速': 2, 'ERP': 2, '开发软件': 2, '网络工程': 2, '管理信息系统': 8, '产业': 2, '以下内容': 2, 'TCP': 2, '重钢': 2, '交换': 2, '一些': 4, 'Java': 4, '联网': 4, 'Abaqus': 2, '城镇': 2, '黄皓': 2, 'Clarus': 2, '声音': 2, 'Schema': 2, 'extjs': 2, 'Basic': 10, 'online': 2, 'Sharepoint': 2, '版本': 4, '光学': 4, '1RP90': 2, 'AWS': 2, '电脑主板': 2, '途径': 2, '选择题': 2, '为例': 2, '美化': 2, '14DreamweaverCS3': 2, '体检': 2, 'leader': 2, '工程施工': 2, '复习': 2, '服务行业': 2, '文件传输': 2, '渠道': 2, '例程': 2, '计算机辅助': 12, '实例': 4, 'L': 2, '开发': 24, 'BT200': 2, '装配': 2, '扩展': 2, '测试工具': 2, '连接': 2, '屏蔽': 2, '解读': 2, '面向': 2, '网下': 2, '富': 2, 'java': 4, '列': 2, '协议': 6, '变异': 2, '概述': 2, '维修': 2, '扫描': 2, '板': 2, 'phone': 2, '2018': 6, '简单': 4, '后台': 2, '化学': 2, '事件驱动': 2, 'ui': 2, 'maxDNA': 2, '客户端': 2, '词法': 2, '检索系统': 2, '协同': 2, '多媒体技术': 2, '计算机技术': 2, '简介': 4, '带': 2, '问题': 6, '第六章': 4, 'Oracle': 4, '形成': 2, 'fast': 2, '概论': 4, 'Online': 2, '上传': 2, '组织': 4, '星星': 2, 'format': 2, '电子商务系统': 2, '医疗': 2, '上机': 2, '绪论': 2, '视讯': 2, '很': 2, '存储设备': 2, 'css': 4, '关联': 2, '推荐': 2, '指导': 2, '软件可靠性': 2, 'ENGLISH': 2, '信息处理': 4, '检索': 10, '动画': 4, '实际': 2, '远': 2, '信息管理系统': 16, '集成': 12, '电力': 2, '阅读': 2, '高速': 2, '程序设计': 16, '招标': 2, '掌握': 4, '波节': 2, '新娘': 2, '总结': 4, 'Workbench': 2, '目录': 2, ',': 4, '精品': 18, '群': 4, 'C': 6, 'NET': 4, '下': 6, 'db2': 2, 'Mate': 2, 'pattern': 2, '章用': 2, 'PULSE': 2, '用': 2, '5': 6, '以及': 2, 'python': 4, '可以': 2, '锁': 2, '3G': 6, 'LoadRunner': 2, '软件': 16, '股票市场': 2, '2': 4, '计算技术': 2, '计算机': 20, '数学公式': 2, 'AKTA': 2, 'Ms': 2, '指导书': 6, '章大': 2, '资讯科技': 2, '信息化': 2, '宝典': 2, '第二章': 6, 'Brother': 4, 'UCGUI': 2, '队列': 2, '智慧': 2, 'IM': 2, '2012': 4, '讲师': 2, '之土': 2, 'v1.0': 2, 'STM32': 2, '办公': 10, '弯曲': 2, '分型': 2, '·': 8, 'rec': 2, '局域网': 4, 'Minus': 2, '三网': 2, '设定': 2, '保山市': 2, '方法': 8, '直线': 2, '环境': 2, '课后': 4, '协议书': 2, '办公自动化': 6, '过滤': 2, '理论': 6, '第三方': 2, '差动': 2, '考核': 2, '传送': 2, 'in': 2, '计算机信息': 2, '大纲': 2, '生活': 4, '领域': 2, '博客': 8, '暗灰': 2, '处理': 6, '主讲': 2, 'C语言': 6, '元素': 2, '毕业论文': 18, 'Training': 2, '用户': 6, '高级': 4, '监听': 2, '关键技术': 6, '工程规划': 2, '一体化': 2, 'PCschematic': 4, '宏': 2, '工作': 6, 'SQL21': 2, '技巧': 10, '组成': 2, '1MATLAB': 2, '产业化': 2, '交互': 2, '汇集': 4, '网络资源': 6, '简明': 4, '模': 2, '入门': 20, '8510DN': 4, '摘要': 2, '电缆': 2, 'H474': 2, 'pptUG': 2, '车牌': 2, '轮胎': 2, '时态': 2, '滤波器': 2, 'zookeeper': 2, '个人简历': 2, '多线程': 2, '贪腐': 2, 'Greenplum': 2, '章': 24, '打字': 2, '王超': 2, '手机': 4, '容错': 2, '20140101': 2, '数据库系统': 6, '桥': 2, '一': 4, '上传下载': 2, 'Motivation': 2, 'LabVIEW': 4, '利用': 2, '电子': 4, '直播': 4, '识别系统': 2, 'google': 2, 'UI': 6, '认购': 2, 'arduino': 2, '1208NewNAS': 2, '报错': 2, '图': 2, '行为': 2, 'Week': 2, '重点': 2, '思科': 2, '格式': 4, '多表': 2, '机': 4, 'MANUEL': 2, '远程': 4, '1.0': 2, '多': 4, '年': 4, '规则': 2, 't': 2, '通话': 2, '社区': 2, 'd': 2, '第一章': 4, '系统': 44, '健康': 4, '固件': 2, '约束': 2, '未来': 2, '六': 2, '分组': 4, 'M02ANSYS': 2, '3': 10, '=': 2, '适应': 6, '栈': 2, '人工智能': 14, 'AP': 2, 'Objective': 2, 'Indicator': 2, '通': 4, '系统集成': 2, '从': 2, 'Visual': 8, '移动': 10, 'SonicWALL': 2, '数据通讯': 2, '驱动': 6, '地籍': 2, '视频': 10, 'c': 2, '网络系统': 2, '营销': 4, '数据中心': 6, '企业': 10, '非': 2, 'pdf': 6, '化工': 2, '7': 10, '500': 4, '器材': 2, '规划设计': 2, '风险': 4, '二号': 2, '命令': 2, '一天': 2, '平台': 28, '软件教程': 2, '路': 2, '数字证书': 2, 'MFC': 12, '消息': 2, '进阶': 2, '基本功能': 2, '引擎': 2, '政策': 2, 'Press': 2, '微信': 4, '大容量': 2, '网页': 20, 'final': 2, 'Animation': 2, '实验报告': 2, '讲义': 6, '存储空间': 2, '篇': 2, 'Blaster': 2, '代码': 4, '三维': 2, '资料集': 2, '控制器': 4, 'ufeff': 1, '1.2': 2, '系列': 8, 'SPCE061A': 2, '关键': 2, '存储系统': 8, '计算': 10, '可编程': 2, '员工': 2, 'Version': 2, '朱照': 2, '动觉': 2, '笔记本': 2, 'oracle': 4, 'chapter7': 2, '信息': 8, '´': 2, '优化': 6, '源程序': 2, '6.0': 2, '搭建': 2, '生产': 2, '终端': 2, '神笔': 2, '92': 2, '聊天室': 4, '自学': 2, '指挥系统': 2, 'Transact': 2, 'Structures': 2, 'pptBeginning': 2, 'SVM': 2, '政协提案': 2, '配置文件': 2, '原型': 2, '驱动程序': 2, '成功': 2, '丁': 2, '如何': 4, '煤炭行业': 2, 'Machine': 2, '中文': 30, '图书': 2, '2003': 2, '产品': 2, 'so': 2, 'ANSYS': 4, '策划案': 2, '漏洞': 2, '个人': 2, 'Geometric': 2, 'the': 2, '阈值': 2, '桑新柱': 2, '以': 2, '装置': 2, '视觉': 6, '运算': 2, '试论': 4, '采购': 2, '监控': 4, '电视': 2, '自由': 2, '5000': 2, 'LM317': 2, '上位': 4, '元': 4, '最新': 10, 'commands': 2, 'Pivotal': 2, 'FANUC': 2, '并行计算': 4, '快修': 2, 'SQL': 4, '初级': 2, 'SHIP': 2, 'curve': 2, '五笔': 2, '540': 2, 'Solr': 2, '韩三普': 2, '燃煤': 2, 'Background': 2, '自然灾害': 2, 'ⅱ': 2, '实践': 4, '资料': 8, '语法分析': 2, '税负': 2, '模式': 2, '海报': 2, '源代码': 4, '信息技术': 2, '激光': 2, '振动': 2, '微软': 2, 'XCPgenesis2000': 2, 'APP': 2, '操作': 2, '微课': 2, '第': 30, '布局': 8, '3.0': 2, 'UML': 4, '软件系统': 2, '图文': 6, '粒子': 2, '各国': 2, '多方': 2, '滤线器': 2, 'UG': 2, '库': 2, 'DCS': 2, '编译器': 2, 'Ubuntu': 2, '统一': 2, '04': 2, '电路设计': 4, '实训': 4, '模式识别': 2, '服务器': 2, '毕': 2, '课件': 24, '爆破': 2, '控制系统': 6, '201504': 2, '人工神经网络': 2, 'XC': 2, '0': 2, '电力系统': 2, '行之有效': 2, '满天': 2, '3.3': 2, '查询': 6, '一个': 2, 'OWASP': 2, '串行': 2, '技术培训': 2, '计划': 4, '并行': 4, '二值': 2, 'Electrical': 2, 'HAZOP': 2, 'SPSS': 6, '讲稿': 2, '入门教程': 2, '时代': 2, '情报': 2, 'docPython': 2, '软件设计': 2, '位': 2, '解决': 2, '精选': 6, '演进': 2, 'Lattice': 2, '分割': 2, '参考答案': 2, '即时': 2, '第三课': 2, 'SAT': 2, '9': 2, '及其': 4, '零售': 4, '部分': 4, '说明': 4, 'WLAN': 2, '数据结构': 2, 'Matrix': 2, '精通': 2, '大学': 8, '分析': 40, '反馈': 2, 'Moc': 2, '薪酬': 2, '培训': 6, '教学资料': 2, 'BB': 2, '4278': 2, '宁职院': 2, '优质': 2, '第七章': 2, '0i': 4, '界面': 2, '性': 2, '模具设计': 2, '博士': 2, 'bezier': 2, '流': 2, '策略': 2, '算': 2, 'mcos': 2, '中文翻译': 2, '有关': 2, '于小波': 4, 'MGCP': 2, '小车': 4, '智能化': 2, '参考手册': 2, '宣传': 2, '客户': 2, '学习': 10, 'matlab': 10, '建模': 2, '8520DN': 4, 'XML': 4, '语句': 2, '计算机软件': 2, 'plsql': 2, '存储技术': 2, '概念': 2, '标准': 10, '文本': 2, '培训教材': 2, '翻译': 4, '设计': 106, 'EXCEL': 4, '高品质': 2, '关系': 2, '案例': 2, '模块': 4, '故障': 2, '文档': 2, 'DIV': 6, 'sql': 2, '股票': 8, '书宋': 2, '县': 2, 'Clem': 2, '法律': 4, '机房': 8, 'Transitionin': 2, 'v12': 2, '分拣': 4, '运维': 2, '换热器': 2, 'arm': 2, 'Mastercam': 2, '全': 2, 'ETF': 2, '语言': 10, 'AI': 2, '个性化': 4, 'ppt': 16, '第四版': 2, '介绍': 4, '助力': 6, '放大': 2, 'OA': 2, '摄像': 2, '联合': 2, '课题': 4, '综述': 2, '数据库': 14, '模型': 6, 'COS': 2, 'dom': 2, '式': 2, '滑动门': 2, 'IT': 2, '电': 2, '结晶器': 2, '小学': 2, '天': 2, 'word': 6, '之道': 2, '建议': 2, '试题': 2, '》': 8, 'visual': 4, '《': 8, '算法': 8, '51': 6, 'shell': 2, 'ftp': 2, '转载': 2, '样式': 4, '教育': 4, '这些': 2, '15': 2, '锅炉': 2, '检测': 2, '计算机科学': 2, '软件测试': 2, '数据处理': 2, '运销': 2, 'ALTERA': 2, '模板': 2, '你': 2, '课程设计': 16, '规划': 2, '对象': 2, '电子秤': 2, '创业': 4, '移动机器人': 2, 'SCORM': 2, '治理': 2, '教案': 4, 'PPT': 28, '多维分析': 2, 'paxos': 2, '卡口': 2, '实验': 8, '前台': 2, '像素': 2, '基本': 2, '信用卡': 2, 'modeling': 2, 'GPU': 2, 'USB': 4, '海量': 4, 'Linux': 4, '系统分析': 2, '基础': 20, 'Winbond': 2, '数据挖掘': 10, '人机交互': 2, '调查报告': 2, '1231dreamweaver': 2, '方法论': 2, 'O2O': 2, '2html': 2, '面试': 2, '串级': 2, '音箱': 2, '职位': 2, '日': 2, '第四': 4, '融合': 6, '开源': 2, '专业': 4, 'PYthon': 2, '选举': 2, 'WebAccess': 2, '语法': 4, '面对': 2, '方案': 18, '多核': 2, '优秀': 2, '沈阳': 2, 'LM90': 2, '评论': 2, '新': 4, '灵敏度': 2, 'unix': 8, '特征值': 2, '发展趋势': 2, '进行': 2, '智能': 10, '发现': 2, '系统管理': 2, '05': 2, 'MoldWizard': 2, '中国': 2, '辅助': 4, '芯片': 2, '讲': 6, '玩': 2, '图式': 2, '自动': 8, '网': 4, '数据': 20, 'T': 2, '体系结构': 4, '’': 2, '后缀': 2, '交互式': 2, '电机': 2, '地区': 2, 'flash': 2, '信用': 2, '育微课': 2, '手册': 8, '多媒体': 2, '固态': 2, '详解': 4, '批改': 2, '具有': 2, '支付': 2, '完全': 2, '传感器': 4, 'IC': 2, '结构': 4, '放大器': 2, '系统软件': 4, 'OCR': 2, '保护装置': 2, '成绩': 4, '后置': 2, '长安': 6, '物': 4, '学生': 6, 'Asteion': 2, '数据服务': 2, '档案': 6, '分布式': 2, '双活': 2, '教学大纲': 2, '光存储': 2, '创新': 2, '几何': 2, 'WAPI': 2, '补货': 2, '级': 2, '题': 4, 'TYCO': 2, '常用': 2, 'docc': 2, '动易': 2, '32': 2, 'Android': 4, '求': 2, '范例': 2, 'pop': 4, '评估': 2, 'Task': 2, '分享': 2, '11': 2, '年产': 2, 'Flex': 2, '支撑': 2, 'Native': 2, '仿真': 2, '电脑知识': 4, '题目': 2, 'Modbus': 2, '域名': 2, '租': 2, 'R2014aCPU': 2, 'Server': 4, 'FPGA': 2, 'WEB': 2, '电子设计': 2, '图像': 8, '华夏': 2, '单片机': 8, '教程': 38, '可行性研究': 4, '二级': 4, '汇报': 2, 'hydromassage': 2, '常见': 4, '练习': 2, 'gb': 2, '竞赛': 2, '初步设计': 2, '情况': 2, 'cs6': 2, 'PI': 2, '第五章': 4, '存储器': 2, 'pptAPM': 2, 'GCMS': 2, '基': 4, '通信': 6, '实时': 2, '文章': 2, '内部资料': 2, '自': 6, '三级': 2, '河北省': 2, '通讯': 36, 'CAN': 2, '无耻': 2, '实现': 34, '学位': 2, 'MATLAB': 4, '面': 2, '工具': 6, '姚延栋': 2, '点对点': 2, '测试': 4, '汉字': 2, 'Match': 2, '流量': 2, 'basic': 4, '图像处理': 4, '网上': 2, ':': 2, '软件工程': 8, 'VBScript': 2, 'PLC': 2, 'Web': 6, '操作系统': 8, '深蓝': 2, 'doc': 8, '19': 2, '校园': 6, '经典': 8, '花椒': 2, '解决方案': 6, '表': 2, '大': 8, '教学系统': 2, 'Visualbasic': 2, '网络安全': 2, 'or': 2, '阿里巴巴': 2, '框架': 2, '程序员': 2, '类': 2, '福建': 2, '任务': 2, '最终': 2, '8': 2, '联通': 2, 'QQ': 2, '本和利时': 2, '导论': 4, '识别': 4, '第一行': 2, 'and': 4, '尺度': 2, 'VC': 2, '公众': 2, '剧本': 2, '内部': 2, '网站': 12, '大全': 6, '发展': 4, '机制': 4, 'Datacolor': 2, '季顺宁': 2, '汇编语言': 2, '商城': 2, '2010': 6, '探析': 2, '建设工程': 2, '特效': 2, '分散': 2, '管理系统': 18, 'PDC': 2, '通信工程': 2, '微模块': 2, '数据分析': 2, '大算例': 2, '工资': 2, '网络通讯': 2, '小区': 2, '增值税': 2, '循迹': 4, 'agent': 4, 'vb': 4, '中心': 2, '并行算法': 2, '等级': 2, '教学': 12, '工程': 4, '项目': 12, '知识': 6, 'Python': 4, '文件': 8, 'Cocoa': 2, 'Windows': 2, '白皮书': 2, '桥梁': 2, '主观题': 2, 'SEO': 4, 'ASBJ2014': 2, '管': 2, 'JSP': 2, 'Ansoft': 2, '应用': 68, '事务': 2, '小': 4, '李晓峰': 2, '操作手册': 2, '咨询': 2, '21.1': 2, '云': 16, '10': 4, '卡中': 2, '存储': 14, 'DE': 2, 'A': 2, '体验': 2, '吴虹鸥': 2, '存储阵列': 2, 'ssl': 2, '01': 4, '配置': 2, '教材': 2, '栈队': 2, '信息系统': 6, '赚': 2, '缓存': 2, '总线': 2, '路径': 2, '案件': 2, '编程语言': 2, '时': 2, '促进': 2, 'geometric': 2, '添加': 2, '安全': 4, 'Bose': 2, '架构': 12, '短信': 2, '行人': 2, '官方': 2, '统计': 2, 'CSS': 12, '探': 2, 'Systems': 2, '功能': 2, '工程造价': 2, '报告': 20, '中医': 2, '打印': 2, '机器': 2, 'chapter6': 2, '上门': 2, '21': 2, 'cognos': 2, '册': 2, '预测': 2, '运行': 4, '指令系统': 4, '建议书': 2, '山西': 2, '实施方案': 4, 'cn': 4, '打': 2, 'AUTO40': 2, 'hnc': 2, '6': 4, '版': 6, 'CDN': 2, '团队': 2, 'Modeliing': 2, '全套': 2, '阿里': 2, '编译': 4, '输入': 2, '考试': 6, 'RFC2705': 2, '函数': 2, '结果': 2, '使用手册': 4, '交流': 2, '法语': 4, '答案': 8, 'Equipment': 2, '上': 2, '“': 4, '基于': 64, '市场': 2, 'MES': 2, '指标': 2, '1': 12, 'Flash': 2, '计算机专业': 2, 'pptVisual': 2, '突破': 2, '即时通讯': 8, '13': 2, '枪大': 2, 'Perl': 2, '浅析': 4, 'script': 6, 'Clementine': 2, '策划书': 2, '现金': 2, '微型': 4, '工程师': 2, '谷歌': 2, '省市': 2, '34': 2, '作者': 2, 'Portal': 2, '网络': 24, 'hog': 2, '第八': 2, 'μ': 2, '数字': 2, '转': 2, '组态王': 2, '电线': 2, '策划': 6, '资源': 4, '硕士学位': 2, '稳态': 2, '清华大学': 2, 'Tekla': 2, '电路': 2, 'CASS': 2, '廖凡磊': 2, 'AutoCAD': 2, '政府': 2, '基础知识': 2, 'CH01': 2, '物业': 2, '无线': 2, '甲鱼': 2, '有限': 2, '维护': 2, 'Reward': 2, '方案设计': 2, '神经网络': 2, '硕士论文': 2, '4': 2, '烽火': 2, '超': 2, 'Baignoire': 2, '接口技术': 4, '指南': 6, '解答': 2, '仿人': 2, ',': 2, '行业': 4, '中小企业': 2, '研究': 60, '若干': 2, '建设': 12, 'Auto50': 2, '字符串': 2, 'CCNA': 2, '焦点': 2, '服务': 12, '运输': 2, '习题': 2, 'UTILISATEU': 2, 'PTN': 2, '软交换': 2, '防护': 2, '液位': 2, '深度': 2, '高校': 2, '002': 2, '认证': 2, 'IO': 2, '控制': 4, '嵌入式': 8, '第四章': 6, '8515DN': 4, '”': 4, '性能': 2, '互联网': 4, '安全性': 2, '设置': 4, 'NX6.0': 2, 'CT': 2, 'etl': 2, '程序': 6, '感知': 2, '安全措施': 2, 'halcon': 2, '管理': 10, '中职': 2, '数据类型': 2, '外': 6, 'execute': 2, '率': 2, '到': 2, 'IM3': 2, '银行': 4, 'pdfForm': 2, '电气工程': 2, '用户手册': 2, '新编': 2, '制作': 6, '问题解答': 4, '包': 2, '使用': 12, '窗体': 2, '解析': 2, '交易系统': 2, '&#': 2, '会': 2, '原理': 22, '矩阵': 4, '技术': 52, '挖掘': 2, '编程': 16, '对策': 4}
    

     

    (3)统计前50出现的词语排序,保存在wordcound.txt。

    title_dict=changeTitleToDict()
    dictList = list(title_dict.items())
    dictList.sort(key=lambda x:x[1],reverse=True)
    f = open('wordcount.txt', 'a', encoding='utf-8')
    for i in range(50):
        print(dictList[i])
        f.write(dictList[i][0] + ' ' + str(dictList[i][1]) + '
    ')
    f.close()
    

    (4)生成词云

    from PIL import Image, ImageSequence
    import numpy as np
    import matplotlib.pyplot as plt
    from wordcloud import WordCloud, ImageColorGenerator
    
    font = r'C:WindowsFontssimhei.TTF'# 引入字体
    title_dict = changeTitleToDict()
    #读取背景图片
    image = Image.open('./1.png')
    graph = np.array(image)
    wc = WordCloud(font_path=font,#设置字体
                     background_color='White',
                    mask=graph, #设置背景图片,背景是电脑
                   max_words = 200)
    wc.generate_from_frequencies(title_dict)
    image_color = ImageColorGenerator(graph)# 绘制词云图
    plt.imshow(wc)
    plt.axis("off")
    plt.show()

    选取的图片:

    结果:

    <2> 遇到的问题及解决办法

    (1)wordcloud无法安装

    问题:

      1.安装时,直接用 pip install wordcloud是会报错的,会有文件缺失的问题

      

    解决方法:

      1.访问:https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud

          选择合适的版本下载(cp指的是系统上安装的python版本,32表示安装的python版本是32位),我安装的是wordcloud-1.4.1-cp36-cp36m-win32.whl

           在终端输入命令:pip install wordcloud-1.4.1-cp36-cp36m-win32.whl,然后按file-setting-project interpreter打开下图:

                                  

     <3>数据分析思想及结论

        词云生成结果显示,豆丁网的文档里关于IT计算机的文档的主要讨论设计和应用,这不止是IT计算机,也是商软专业注重的。

    6.最后提交爬取的全部数据、爬虫及数据分析源代码。

    import requests
    from bs4 import BeautifulSoup
    import jieba
    
    # 保存1~19页的题目
    for i in range(1,20):
            pages = i;
            nexturl = 'http://www.docin.com/l-10017-0-0-0-0-%s.html' % (pages)
            reslist = requests.get(nexturl)
            reslist.encoding = 'utf-8'
            soup_list = BeautifulSoup(reslist.text, 'html.parser')
            for news in soup_list.find_all('a',class_='goToDocs'):
                print(news.text)
                f = open('ITcomputer.txt', 'a', encoding='utf-8')
                f.write(news.text)
                f.close()
    
    # 把所有题目里的多余符号和信息去掉,保存为字典
    def changeTitleToDict():
        f = open("ITcomputer.txt", "r", encoding='utf-8')
        str = f.read()
        stringList = list(jieba.cut(str))
        delWord = {"+",".","_", "/", "(", ")","..","(",")", "【", "】", ", "," ",":", ";", "!", "、","论文","的","毕业","-","D","—","[","]","毕业设计","与","及","之","中","在","和"}
        stringSet = set(stringList) - delWord
        title_dict = {}
        for i in stringSet:
            title_dict[i] = stringList.count(i)
        # print(title_dict)
        return title_dict
    
    # 统计前50出现的词语排序,保存在wordcound.txt
    title_dict=changeTitleToDict()
    dictList = list(title_dict.items())
    dictList.sort(key=lambda x:x[1],reverse=True)
    f = open('wordcount.txt', 'a', encoding='utf-8')
    for i in range(50):
        print(dictList[i])
        f.write(dictList[i][0] + ' ' + str(dictList[i][1]) + '
    ')
    f.close()
    
     # 生成词云
    from PIL import Image, ImageSequence
    import numpy as np
    import matplotlib.pyplot as plt
    from wordcloud import WordCloud, ImageColorGenerator
    
    font = r'C:WindowsFontssimhei.TTF'# 引入字体
    title_dict = changeTitleToDict()
    #读取背景图片
    image = Image.open('./1.png')
    graph = np.array(image)
    wc = WordCloud(font_path=font,#设置字体
                     background_color='White',
                    mask=graph, #设置背景图片
                   max_words = 200)
    wc.generate_from_frequencies(title_dict)
    image_color = ImageColorGenerator(graph)# 绘制词云图
    plt.imshow(wc)
    plt.axis("off")
    plt.show()
  • 相关阅读:
    asp.net如何实现删除文件的操作? (转)
    开始计算机英语的学习,先把这里当生词本用了。
    CSS Box Model 盒子模型
    生成网站快捷方式
    Microsoft .NET Framework 3.5 sp1离线安装解决方案
    asp.net生成网站快捷方式
    https://mail.google.com/tasks/ig?pli=1
    Sql server DATEDIFF DATEADD
    局域网 跨数据库 访问数据库
    asp.net 生成网站快捷方式
  • 原文地址:https://www.cnblogs.com/oechen/p/8965713.html
Copyright © 2011-2022 走看看