我如何使用python在我的利基网站上发表一篇好文章
九个月前,在得知我妻子怀了我们的第三个孩子后,我决定从事一些兼职项目,以赚取额外的钱。因为我知道我的正常收入不足以在不久的将来养活我的家人,所以我不得不寻找其他收入来源。
就在那时,我决定建立一个利基网站来做代销商营销。(Python中有flask和django框架可以建立网站)。在我开始这个专门研究果汁的网站项目后,我只在九个月内发表了大约30篇文章。此外,我对这些文章并不真正满意,因为它们与网络上其他类似的文章没有太大不同。因此,我知道我必须有所作为,开始写高质量的文章,这些文章有独特的内容,很容易在网上推广。大约在我读到这篇文章的时候,“我分析了在Stack Overflow上面推荐的每本书。这些是最受欢迎的。”Vlad Wetzel在freeCodeCamp中提到。我突然想到…python数据分析。
我决定将数据分析的技术,应用于榨汁食谱。我必须收集尽可能多的果汁配方来获得有意义的结果。然而,有一个大问题。所有的食谱都在网上发布,并以不同的格式书写。手动收集食谱将非常乏味,至少需要两个月,如果不是更长的话。(难道我要开始学习python爬虫了?)
谢天谢地,我偶然发现了yummly网站,它已经从网上收集了成千上万个这样的食谱。当我发现yummly的食谱有一个应用编程接口服务时,事情变得更好了。根据我的经验,利用这个应用编程接口来完成我的项目是我的拿手好戏。我立即注册了为期两周的免费试用,并开始使用Python和SQLite的应用程序接口。然而,我注意到要完全区分榨汁食谱和其他包含“果汁”一词的食谱是不可能的。但是我意识到我可以用“冰沙食谱”来做,所以我决定用“冰沙食谱”来分析。为此,我编写了两个Python脚本。第一个获取配方并将数据写入SQLite数据库,而第二个处理分析。我利用这个Python模块从yummly中获取食谱。这是数据库的示意图:
从yummly.com收集10765份冰沙食谱花了大约五个小时。将这些配方插入数据库后,处理数据就容易多了。为了分析,我的目标是找到最优选的成分组合;然而,问题是食谱中的一些成分写得不尽一致。例如,香蕉成分在一些食谱中被称为“一些香蕉”,但在另一些食谱中被称为“香蕉”。为了克服这个问题,我使用nltk模块中的lemmatizer将所有成分转换成它们的单数形式。我遇到的另一个问题是名词从句,比如“冰冻草莓”。为了我的分析,我只关心那句话中的“草莓”。为了解决这个问题,我使用了nltk中的标记器,只接受了分别对应于单数和复数名词的“NN”和“NNS”标记。(NLTK是一个Python的自然语言工具包,常用于人工智能及机器学习领域)虽然我使用了所有这些方法来提炼数据,但是我不得不为一些特定的成分使用硬编码来捕获异常,这些成分不能被我的方法的逻辑所捕获。一旦我最终将食谱中的所有成分分类,就更容易找到它们的组合。在运行脚本并得到结果后,我终于设法在我的利基网站上发表了我的第一篇质量相当不错的(我相信)文章。这是文章中的一个可视化。(Python的pandas工具包可以做出这种图表)
the visualizations
查看更多关于我分析的10765冰沙食谱。这是结果。结论如果你现在想知道…我是一名嵌入式软件工程师,也叫程序员。我对于嵌入式系统很有经验,主要是C语言编程。你是否注意到,我对于Python是新手(小白)。事实上,我尝试学习Python编程语言只有六个月。你认为结果如何?就Python编程(数据科学?)和内容营销而言,我是否走在正确的轨道上?感谢您的反馈。作者Yahya Civelek 写于2017年7月18日的学习笔记。