为了取一个花名,我爬下了中草药网所有的名字!


很酷哦!
不过,对我这个选择恐惧症来说,也很纠结
我们先看一下有哪些要求吧?

中草药名人参西洋参?还有啥???

作为一个不怎么吃药的非医学生,这题真的超纲了呀。我只能求助度娘。

但是有个问题,我会百度,别人也会百度呀。

那这些好听的名字,我估计大半都被人用去了。

不行,我一定要取一个独一无二的名字!

这些人为挑选出来的名字代表了大众普遍的审美

我要做颜色不一样的烟火

我要自己筛选~

素材呢?素材自己爬一下呗。

本次使用的是Python(编译器是pyhcarm)

作为一个python新手

虽说这次任务是为了取名字

但更重要的也是为了练习一下自己刚学习的python

我发现,看书看视频

这些单纯索取的学习方式不太适合我 : (

目标驱动法才更使得我有学习的动力 : )

我挑选的网站是“中药网”(侵删!)

(http://m.zhongyoo.com/)

切换到“查询”页面,一共有65页

每页有13种中草药(除了最后一页只有8种)

国际惯例,第一步右击“检查”,找中草药的名字在哪块:

看样子是在class=t的位置,再看一下其他的中药名,也都在这个位置,那就get吧。

1res=requests.get(‘http://m.zhongyoo.com/name/page_1.html’)
2res.encoding='gbk'
3soup=BeautifulSoup(res.text,'html.parser')
4
5plant_names=[]
6names=soup.select('.t')
7for name in names:
8    plant_names.append(name.text)

没错,7行就爬下了这一页的所有名字。

  • 观察一下第1页网址:http://m.zhongyoo.com/name/page_1.html

  • 观察一下第2页网址:http://m.zhongyoo.com/name/page_2.html

  • 观察一下第3页网址:http://m.zhongyoo.com/name/page_3.html

区别在哪呀?小学生都能看出来,在倒数第6个字符!从1变成了2再变成了3。

发现了这个规律,我们就能愉快地利用函数来爬后面几页的名字啦。参数自然就是从1变到65的变量啦。

不得不说

控制台不断弹出来的“第X页数据摘取完毕!”这些话

真的太治愈了哈哈哈

此画面引起极端舒适!

然后我们就如愿得到这840个名字啦!

  

(部分结果)

BUT!

正当我美滋滋准备导出数据开始挑选的时候

我“一不小心”点进一个中草药的链接里面去

发现……

???还有别名??

也行吧,那就别名也爬一下…

既然是点进每一个链接才能查找到“别名”的数据,那么在起始页不仅要爬名字,还要将每个链接都抓取出来。“检查”了一下,发现链接位置和之前的名字不太一样:

搞不太清楚具体在哪里,因为不在普通的‘text’里面,我只能另辟蹊径,尝试一下正则表达式把地址找出来(天呐,其实我这个没玩过……但是迟早要学的,那就是现在吧!)

通过临时学习,我模仿了一下,我发现!正则表达式!真的很好用!真香!

1pattern = re.compile(r'http:.*?.html')
2plant_links = pattern.findall(html_sample)

放到前面的函数里面,蹭蹭蹭,每一类中草药的名字和具体链接就出来啦!

有了链接就可以开始爬具体页面的别名了。

跟之前差不多的步骤,我再次用了正则表达式:查查筛筛扣扣拆拆合合,艰难而成功地找出来所有的别名:

 1def getPlantBynames(url):2    res=requests.get(url)3    res.encoding='gbk'4    html_sample=res.text5    soup=BeautifulSoup(html_sample,'html.parser')6    header=soup.select('.art_1')7    bynames=header[0].text.replace("\n", "").replace('\t', '').strip()89    result=[]
10    if re.search('【别名】.*?【英文名】', bynames) is not None:
11        single_name = re.search('【别名】.*?【英文名】', bynames).group()[4:-8]
12        result.extend(single_name.split('、'))
13    return result

方法肯定有很多种,我…下次再学!

然后呢,我们再把这个获取别名的函数放进刚刚的大函数里面,就可以在获取链接之后直接把链接当作参数用到这个函数里面,结果不用再导出链接,直接把“本名”和“别名”输出就好了。不瞒你们说,有四千多个名字!

我们先来瞧一瞧古人起名字都喜欢用什么字吧!

以前用过R语言做词云

现在为了学习我决定尝试用python

虽然语法不太一样

但是思想大致一样

我又看到了似曾相识的“jieba”:

 1names=str()2for name in df['name']:3    names=names+name45result=jieba.cut(names,cut_all=True)6789cloud_text="".join(result)
10fre= Counter(cloud_text)
11
12mask = np.array(Image.open('flower.jpg')) # 定义词频背景
13    wc = wordcloud.WordCloud(
14    font_path='Hiragino Sans GB.ttc', # 设置字体格式
15    mask=mask, # 设置背景图
16    max_words=200, # 最多显示词数
17    max_font_size=150 # 字体最大值
18)
19
20wc.generate_from_frequencies(fre) # 从字典生成词云
21image_colors = wordcloud.ImageColorGenerator(mask) # 从背景图建立颜色方案
22wc.recolor(color_func=image_colors) # 将词云颜色设置为背景图方案
23plt.imshow(wc) # 显示词云
24plt.axis('off') # 关闭坐标轴
25plt.show() # 显示图像
26wc.to_file('plant_names_pic.png')

(学习这个大概花了我一半的时间,因为脑子一直没转过弯来)

词频top如下:

词云结果如下:

果然频率最高的就是那些“花”啊“草”的

比较令我意外的是“子”出现的频率很蛮高的

我个人觉得名字带“子”的还蛮好听的~


好了,现在开始回归正题,找花名!

用万能excel筛选出长度为2的名字

还有一千多个满足要求的!

之前吧,觉得百度出来的选择太少了

很容易和别人选得一样,没意思;

现在吧,选择倒是有很多

但是眼睛看看也很累诶~

删除掉自己名字里确切不想要的的一些字:

草,花,山,石,红,老,麻,菊,藤……

还剩好几百个名字……

那筛选出一些自己觉得比较好听的字

看看有没有适合的名字:

带“白的”:

带“苏”的:

带“青”的:

带数字的:

内心bb:看着吧,觉得都挺不错,但仔细看看,又觉得都不咋滴……

看来,对我这种选择恐惧症来说

不管是一千个选择还是两个选择,我都选不粗来!

我看呀,最好就是只给我一个选项!

什么“我来教你如何从四千个名字中挑选出最适合自己的花名”

我教不了!

886

对了,有没有善良的人…给我一点点名字的建议…

不然我就决定叫“柚子”了

因为我家乡盛产文旦!

什么?柚子不是中草药?

无所谓啦,反正hr说了

一般水果都可以入药的!(逃…

﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

生活不易,必须多才多艺。

生活不易,必须多才多艺。

数据很多,Yura分析跟你说。

不定期更新数据分析小文章

请大家多多关注多多点赞多多转发:)

关注我

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/350304.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

使用MySQL查找姓名重名_查询名字有多少人重名,全国同名同姓查询全国姓名数据库...

查询名字有多少人重名,全国同名同姓查询全国姓名数据库 时间:2020-04-04 15:30:01 很多爸爸妈妈在帮孩子取姓名的时候,会想了解在全国范围内重名的人数,希望宝宝的名字不会跟太多人一样。或者有的小伙伴单纯想弄明白全中国同自己姓…

百度排名优化工具 V3.0 正式版

介绍 百度排名优化工具正式版是款可以迅速提升网址百度搜索排名的工具。软件拥有智能计算关键词点击数,点击规则自动添加等。软件还提供了维护模式,自动维护您的关键词排名,让您的关键词排名更加稳定可靠。百度排名优化工具可以将你的网站在…

给Android系统瘦身,安卓优化大师:给系统瘦身

安卓优化大师是一款基于Android平台的系统优化软件,最新版本界面设计简单,功能全面,可以帮助Android手机用户给系统瘦身,优化手机性能。 程序名称:安卓优化大师 平台:Android 类型:系统优化 软件…

Windows优化大师7.96版下载

Windows优化大师提供了全面且有效而简便安全的系统检测、系统优化、系统清理、系统维护四大功能模块以及数个附加的工具软件。它能够有效地帮助用户了解自己的计算机软硬件信息;简化操作系统设置步骤;提升计算机运行效率;清理系统运行时产生的…

SEO优化工具-免费SEO优化工具下载-SEO优化工具大全中心

什么是SEO优化工具?SEO优化工具(Seo tools)能在搜索引擎优化过程中起到辅助的作用,如数据查询工具、网站排名工具、网站流量分析功能,站群管理工具等,用来提高每个SEO人员工作中的效率。 seo优化工具&#…

Android性能优化之APK优化,完整版开放下载

前言 移动研发火热不停,越来越多人开始学习 android 开发。但很多人感觉入门容易成长很难,对未来比较迷茫,不知道自己技能该怎么提升,到达下一阶段需要补充哪些内容。市面上也多是谈论知识图谱,缺少体系和成长节奏感&a…

win10优化大师v1.0去插件免费版

名称:win10优化大师v1.0去插件免费版 版本:1.0 软件大小:5.70MB 软件语言:中文简体 软件授权:免费版 应用平台:Win10 win10优化大师是一款面向Win10操作系统提供的优化软件,提供常用系统功能的…

Android性能优化工具

一、性能优化工具基础 1.1 概述 在Android开发中,开发者可通过"系统跟踪"观察Android设备的运行情况并生成跟踪报告,在此基础上进行分析优化。Android 平台提供了多种获取跟踪信息的工具: Android Studio CPU 性能剖析器Systrace…

PS 的常见抠图工具

PS 的常见抠图工具 1. 套索工具2. 多边形套索工具3. 磁性套索工具4. 对象套索工具5. 快速套索工具6. 魔棒工具7. 其他 1. 套索工具 能完成快速抠图, 缺点是不好控制. 2. 多边形套索工具 绘制多边形区域抠图, 缺点是不够圆滑, 返回上步是 Backspace 键. 3. 磁性套索工具 吸附边缘…

PS抠图的6种方法

1. 魔棒工具 用于去除单色背景色图片。 选中魔棒工具后,可以点击选中图片中的背景色进行选取,选中后可以去除背景。魔棒工具一般用来去除背景色为单调色的背景,比如背景是白色或者其他纯色之类的。 在选择时可以选择容差\连续: 连…

【QQ聊天界面、创建模型、懒加载数据 Objective-C语言】

一、今天我们要做的就是这个案例 1.我们今天要做的案例,做好了之后的效果就是这样 这个案例,和昨天那个微博的案例是非常相像的, 哪些相像呢, 1)整体是不是也是能滚动啊, 2)能滚动,它不仅仅是一个UIScrollView 它里面,这个也是一行、两行、三行、四行、 所以说,…

Hive学习---7、企业级调优

1、企业级调优 1.1 计算资源配置 到此学习的计算环境为HIve on MR。计算资源的调整主要包括Yarn和MR。 1.1.1 Yarn资源配置 1、Yarn配置说明 需要调整的Yarn的参数均与CPU、内存等资源有关,核心配置参数如下: (1)yarn.nodeman…

代码随想录算法训练营第四十八天|198.打家劫舍|213.打家劫舍II|337.打家劫舍III

LeetCode198.打家劫舍 动态规划五部曲: 1,确定dp数组(dp table)以及下标的含义:dp[i]:考虑下标i(包括i)以内的房屋,最多可以偷窃的金额为dp[i]。 2,确定递…

MockServer 服务框架设计

【摘要】 大部分现有的 mock 工具只能满足 HTTP 协议下简单业务场景的使用。但是面对一些复杂的业务场景就显得捉襟见肘,比如对 socket 协议的应用进行 mock,或者对于支付接口的失败重试的定制化 mock 场景。为解决上述问题,霍格沃兹测试学院…

压力测试遭遇大量TIME_WITE之后(这样解决)

前言:http协议是互联网中最常使用的应用层协议,它的绝大多数实现是基于TCP协议的。 目录 一 问题描述 二 问题跟踪 三 跟进分析 四 解决方法 一、问题描述 某天,在对一个提供http接口的后台服务进行压力测试过程中,我们设定了…

IPAD、IOS、MAC邮件配置QQ邮箱

1、登录QQ邮箱 2、点击设置 3、切换到账号,往下拉开启IMAP/SMTP服务,如果已经开启直接点击生成授权码即可 4、按照指示发送短信,验证成功后会有一段码,此为密码,按照下图配置即可

mac强制退出应用

第一种方法:通过键盘强制退出当前能够响应的 Mac 应用。 按住 Command Option Shift Esc 键一两秒,直到应用被强制退出。这是退出有前台界面的应用的最快方法了。 第二种方法:调出“强制退出应用”窗口。 按下 Command Option Esc 键&…

公司招人面试了一个00后,绝对能称为是内卷届的天花板

公司前段缺人,也面了不少测试,结果竟然没有一个合适的。一开始瞄准的就是中级的水准,也没指望来大牛,提供的薪资也不低,面试的人很多,但平均水平很让人失望。令我印象最深的是一个00后测试员,他…

Mac上QQ电话录音

在Mac上使用QQ电话时,需要同时记录下双方的声音。最后找到了loopback这个软件,配合Mac自带的QuickTime Player来实现需求。 QQ for Mac上的通话机制有两点需要注意: 一旦QQ电话开始,再在设置里手动更改声音输入设备是无效的QQ电…

Mac 前端开发之旅

目录 Mac 浏览器内常用快捷键 在 Mac 上打开 “终端” Mac 之 Vue.cli4.X 项目搭建 Mac 超好用的软件 最近新上手了 Mac 本 , 一些操作啥的都还不习惯 , 在这里就是记录给自己看的一些使用 Mac 进行前端开发过程中的不会之处 Mac 浏览器内常用快捷键…