jieba

python爬取拉勾网数据并进行数据可视化

Deadly 提交于 2020-10-10 00:39:57
爬取拉勾网关于python职位相关的数据信息,并将爬取的数据已csv各式存入文件,然后对csv文件相关字段的数据进行清洗,并对数据可视化展示,包括柱状图展示、直方图展示、词云展示等并根据可视化的数据做进一步的分析,其余分析和展示读者可自行发挥和扩展包括各种分析和不同的存储方式等。。。。。 一、爬取和分析相关依赖包 Python版本: Python3.6 requests: 下载网页 math: 向上取整 time: 暂停进程 pandas:数据分析并保存为csv文件 matplotlib:绘图 pyecharts:绘图 statsmodels:统计建模 wordcloud、scipy、jieba:生成中文词云 pylab:设置画图能显示中文 在以上安装或使用过程中可能读者会遇到安装或导入失败等问题自行百度,选择依赖包的合适版本 二、分析网页结构 通过Chrome搜索'python工程师',然后右键点击检查或者F12,,使用检查功能查看网页源代码, 当我们点击下一页观察浏览器的搜索栏的url并没有改变 ,这是因为拉勾网做了反爬虫机制, 职位信息并不在源代码里,而是保存在JSON的文件里,因此我们直接下载JSON,并使用字典方法直接读取数据.即可拿到我们想要的python职位相关的信息, 待爬取的python工程师职位信息如下: 为了能爬到我们想要的数据

【python】利用jieba中文分词进行词频统计及生成词云

北战南征 提交于 2020-10-03 06:26:22
以下代码对鲁迅的《祝福》进行了词频统计: 1 import io 2 import jieba 3 txt = io.open( " zhufu.txt " , " r " , encoding= ' utf-8 ' ).read() 4 words = jieba.lcut(txt) 5 counts = {} 6 for word in words: 7 if len(word) == 1 : 8 continue 9 else : 10 counts[word] = counts.get(word,0) + 1 11 items = list(counts.items()) 12 items.sort(key= lambda x:x[1], reverse= True) 13 for i in range(15 ): 14 word, count = items[i] 15 print (u " {0:<10}{1:>5} " .format(word, count)) 结果如下: 并把它生成词云 1 from wordcloud import WordCloud 2 import PIL.Image as image 3 import numpy as np 4 import jieba 5 6 # 分词 7 def trans_CN(text): 8 # 接收分词的字符串

数据提取:使用python提取中文地址描述中的省市区信息

随声附和 提交于 2020-10-02 11:35:47
在一次建模比赛中,我手头里的原始数据中有一个“地址描述”地段,如下: 这样的地址描述字段过于随意,很难使用,但是看这些字符串的样子似乎又可以提取出其所在的省、市和区。 即使只能够提取出区或者市,如果我们有一个省、市和区的归属数据库的话,应该也能够将剩下的信息映射出来。 如果自己写的话肯定很麻烦,还要去网上找数据库,于是我做了一个可以复用的python模块,一条命令就可以将上面的“地址描述”字段转换成如下的样子: 准备 模块安装:目前支持python3 pip install cpca 更详细的模块介绍见Github上的README https://github.com/DQinYuan/chinese_province_city_area_mapper 分词模式 本模块中最主要的方法是cpca.transform,该方法可以输入任意的可迭代类型(如list,pandas的Series类型等),然后将其转换为一个DataFrame,下面演示一个最为简单的使用方法: location_str = ["徐汇区虹漕路461号58号楼5楼", "泉州市洛江区万安塘西工业区", "朝阳区北苑华贸城"] import cpca df = cpca.transform(location_str) df 输出的结果为: 省 市 区 地址 0 上海市 上海市 徐汇区 虹漕路461号58号楼5楼 1

文本词频统计

笑着哭i 提交于 2020-09-28 18:05:43
词频统计 在很多情况下我们会遇到这样的问题·,给你一篇文章,让你统计其中多次出现的词语。这就是词频统计问题。当然不我们的文本可以是英文、可以是中文、也可以是其他国家的文字。首先我们来分析这个问题的IPO: I(输入):从文件读取一段文本,或者从键盘输入文本,通常情况下是从文件中读取 P(处理过程):把每个词语及其出现次数当作一个键值对进行处理 O(输出):输出每个词及其出场频率。 英文文章的词频统计 首先我们来看文本为英文的情况: 统计一段英文文本中,单词出现次数,并输出出场次数前三的单词。 I(输入):从文件中读取一篇文章,考虑到有的单词出现在句首需为大写,事实上大写和小写应为一个单词,但是统计的时候会把大写和小写分开,因此把所有大写转化为小写。然后一段文本里面会出现各种各样的符号,这些符号会影响单词频率的排名,因此要把这些符号去掉,这里可以采用字符串的replace方法把其他符号替换为空格符。然后就是我们的单词每出现一次次数就要加1。清楚了这些以后我们整体的编程思路就有了:下面就是我们的代码展示环节 #读取文件 test = open ( "D:\pythonDemo\EnglishDemo.txt" , 'r' ) #将文件内容全部变为小写存储在test中 test = ( test . read ( ) ) . lower ( ) #利用循环将其他字符替换为空格 for

Chat:NLP 中文短文本分类项目实践(上)

半腔热情 提交于 2020-09-23 12:44:37
目前,随着大数据、云计算对关系型数据处理技术趋向稳定成熟,各大互联网公司对关系数据的整合也已经落地成熟,笔者预测未来数据领域的挑战将主要集中在半结构化和非结构化数据的整合,NLP 技术对个人发展越来越重要,尤其在中文文本上挑战更大。 在本场 Chat 以及现在和未来工作中,笔者都将致力于中文文本的挖掘与开发,而且是通过实战来增加对中文 NLP 需求的应用理解。 由于是第一讲,笔者在本次 Chat 并没有提及较深入的 NLP 处理技术,通过 WordCloud 制作词云、用 LDA 主题模型获取文本关键词、以及用朴素贝叶斯算法和 SVM 分别对文本分类,目的是让大家对中文文本处理有一个直观了解,为后续实战提供基础保障。 下面是一些约定: 本 Chat 示例代码都是基于 Python3 写的,带有必要的注释; 中文自然语言处理(Chinese natural language processing),后面笔者全部简称 CNLP; 笔者所用开发环境是 Windows 10 操作系统和 Jupyter notebook 开发工具。相信示例代码在 Linux、Mac OS 等系统上运行也没问题。 一、WordCloud 制作词云 最近中美贸易战炒的沸沸扬扬,笔者用网上摘取了一些文本(自己线下可以继续添加语料),下面来制作一个中美贸易战相关的词云。 1. jieba 分词安装 jieba

python从入门到放弃篇41(selenium库,requests库,lxml库,time库,os模块,jieba库,pyecharts库)实现爬取书籍信息,并进行可视化

送分小仙女□ 提交于 2020-08-19 23:15:46
我们这次的案例网址是: https://book.douban.com/tag/%E7%BC%96%E7%A8%8B 。 最近在研究爬虫和数据可视化的结合,所以,时间上分配的有点不太宽裕。 爬虫部分的完整代码: from selenium import webdriver from lxml import etree import requests import time import os options = webdriver . ChromeOptions ( ) options . add_argument ( '--headless' ) options . add_argument ( '--disable-gpu' ) driver = webdriver . Chrome ( options = options ) headers = { 'user-agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36 Edg/84.0.522.52' } url = 'https://book.douban.com/tag/%E7%BC%96%E7%A8%8B' driver .

[Python人工智能] 二十三.基于机器学习和TFIDF的情感分类(含详细的NLP数据清洗)

℡╲_俬逩灬. 提交于 2020-08-18 14:31:03
从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前一篇文章分享了自定义情感词典(大连理工词典)实现情感分析和情绪分类的过程。这篇文章将详细讲解自然语言处理过程,基于机器学习和TFIDF的情感分类算法,并进行了各种分类算法(SVM、RF、LR、Boosting)对比。这篇文章主要结合作者的书籍《Python网络数据爬取及分析从入门到精通(分析篇)》进行讲解,再次带领大家好好看看Python中文文本分析的基本步骤。个人感觉还不错,基础性文章,希望对您有所帮助~ 本专栏主要结合作者之前的博客、AI经验和相关视频及论文介绍,后面随着深入会讲解更多的Python人工智能案例及应用。基础性文章,希望对您有所帮助,如果文章中存在错误或不足之处,还请海涵~作者作为人工智能的菜鸟,希望大家能与我在这一笔一划的博客中成长起来。写了这么多年博客,尝试第一个付费专栏,但更多博客尤其基础性文章,还是会继续免费分享,但该专栏也会用心撰写,望对得起读者,共勉! TF下载地址: https://github.com/eastmountyxz/AI-for-TensorFlow Keras下载地址: https://github.com/eastmountyxz/AI-for-Keras 情感分析地址: https://github.com/eastmountyxz/Sentiment

Python大佬分析了15万歌词,告诉你民谣歌手们到底在唱什么

偶尔善良 提交于 2020-08-18 06:34:47
前几天小编写了两篇利用Python 采集网易云歌词 和 采集网易云音乐歌曲 文章,相信小伙伴们经过实践之后都能够顺利的采集到自己想要听的歌曲。下面的歌词是小编去年11月份采集的民谣歌词,经过统计,歌词量达到将近15万。 用Python采集的民谣歌词 心血来潮,想利用Python来分析一下民谣歌手们到底在唱些什么鬼~~ 首先运用jieba库进行分词和词频统计分析,得到歌词中的词频统计,部分主要代码如下图所示: 运用jieba库进行分词和词频统计分析 得到的词频后将其导入到Excel表格中,详情如下图: 民谣歌手词频统计表 利用词云将其进行可视化,得到效果图如下: 歌词词云可视化 歌词词云可视化 从词频中,我们可以感受到民谣歌手们时常提及青春,感叹韶华易逝,青春小鸟一去不回来。他们会觉得很孤单,但是并不沉浸在忧伤之中,而是心中向往着远方,对整个世界充满希望、对未来充满阳光。嘿嘿,民谣歌手们在传递正能量咧~~ 之后通过词频统计分析歌手们喜欢的季节,得到的数据统计如下图所示: 民谣歌手们喜欢的季节 由饼图可以看出,民谣歌手们比较喜欢春天 等待下一个春天回来;飘在异乡的雪 覆盖了春天 继续分析民谣歌手的歌词,探索民谣歌手们到底喜欢活在哪一天,详情如下图所示: 民谣歌手们到底喜欢活在哪一天 由柱状图可以看出,民谣歌手们更加喜欢明天,对于明天充满希望。大家都说我拿青春赌明天,看来是有道理滴

【实验】基于朴素贝叶斯的新闻分类

元气小坏坏 提交于 2020-08-17 23:41:33
一、贝叶斯新闻分类任务 新闻数据集处理 爬取的新闻数据,需要我们对文本数据进行很多预处理才能使用 文本分词 通常我们处理的都是词而不是一篇文章 去停用词 停用词会对结果产生不好的影响,所以一定得把他们去剔除掉 构建文本特征 如何构建合适特征是自然语言处理中最重要的一步,这俩我们选择两种方案来进行对比 贝叶斯分类 基于贝叶斯算法来完成最终的分类任务 数据源: http://www.sogou.com/labs/resource/ca.php 1.1 读取数据 import pandas as pd import jieba #pip install jieba df_news = pd.read_table('./data/data.txt',names=['category','theme','URL','content'],encoding='utf-8') df_news = df_news.dropna() df_news.tail() # 查看数据规模 df_news.shape 于原始数据都是由爬虫爬下来的,所以看起来有些不整洁,一会我们还需要清洗一番。这里我们自己定义个字段: Category:当前新闻所属的类别,一会我们要进行分别任务,这就是标签了。 Theme:新闻的主题,这个咱们先暂时不用,大家在练习的时候也可以把它当作特征。 URL:爬取的界面的链接

刚过去的520,大家都在送什么礼物,Python用可视化图告诉你

本秂侑毒 提交于 2020-08-17 12:53:22
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 一年一度的520刚刚过去。 由于受疫情影响错过了今年的2月14日情人节,2020年5月20日,这个谐音为“爱你爱你我爱你”的 “世纪520”,对情侣们来说显得格外有吸引力。 网上都是婚礼、告白、结婚等甜蜜新闻,微博排行榜上的蜜都要溢出屏幕了,520简直就是大型“撒狗粮”节日。 其中,最大的狗粮来自民政局!全国各地的民政局都爆满了! 想在这天领证的新人们把民政局围得水泄不通,有人甚至凌晨4点就前往排队。 一、“世纪520”送礼物 ,大家都在买什么? 除了领证的,对于情侣们来说,关于520要怎么度过,改送什么礼物给心爱的ta也是关注度非常高的话题。 首先,看到知乎上关于“520送什么的话题”,我们经过分析整理发现: 知乎数据 给女朋友送什么 关于给女朋友的礼物,广大网友都提到了口红、香水、项链、手表、还有玫瑰巧克力等礼物; 给男朋友送什么 送男朋友方面,剃须刀、键盘、鼠标、游戏机等也频频被提到。 淘宝数据 那么事实究竟是怎样的呢?接下来让我们看到淘宝天猫的数据,真正做到用数据来说话。 我们搜集整理了淘宝网关于520礼物的100页商品数据,使用Python进行整理分析,经过预处理之后,一共得到3854条数据。 520大家都在买什么礼物? 我们在淘宝搜索520礼物