FME如何采集肯德基中国的所有门店地址(一)

原文发表时间:2016-08-19 10:57:01

作者:雷中华

        FME是个优秀的平台,并保持快速且持续的增长——更多的函数模块、更多的输入输出格式支持。Python是胶水语言,最大的特点就是扩展模块丰富,与FME一拍即合。

 

一方面,FME借助PythonCaller实现了平台承载功能的扩展,在FME里嵌入Python,融合其他IT技术,彰显FME的平台特性;另一方面,FME自身功能凝聚到pyfme,组合到其他系统中提供专业的fme技术。

本文通过一个网络数据挖掘的范例,介绍在FME平台中,借助PythonCaller融合urllib2re(正则)、BeautifulSoup(网页信息结构化分析)的实践。

 

前言

Python凭借简单易上手、跨平台、扩展模块丰富等特点,程序YUAN、数据处理分析、运维等人士喜爱。

阅读本文前,仔细参照下面两篇乱马、lkfree、毛毛虫翻译和撰写的文章,动手试试。

PythonFME(一)http://blog.163.com/antufme@126/blog/static/14049249220101024104836424

 

PythonFME(二)http://blog.163.com/antufme@126/blog/static/140492492201011216593633

 

PythonFME中的使用(一)启动和关闭Python脚本
http://blog.163.com/antufme%40126/blog/static/140492492201171810595703/

 

PythonCaller转换器调用ArcGISgp工具http://blog.163.com/antufme@126/blog/static/1404924922014111591813199/

 

案例:获取肯德基中国全国门店名称及地址信息

背景

平时瞎折腾,想弄到肯德基中国全国门店数据,找到了地址http://www.kfc.com.cn/kfccda/storelist/index.aspx稍加分析,发现门店数据的手工查询获取步骤如下:

1、选择网页底部餐厅查询标签;

2、点按省份或者按城市,选择城市;

3、出来页面是该城市的门店清单;

4、点网页下方下一页,翻页查询。

至此,经过四个步骤,某一个城市的肯德基门店信息(名称、地址、特色服务)数据就查询到了。

  

分析

1、种子页面,就是整个数据挖掘的起点

此案例里,种子页面http://www.kfc.com.cn/kfccda/storelist/index.aspx

城市选择,分别按省份、按城市

餐厅具体信息,包括名称、地址、特色服务

翻页信息

 

2、城市清单,使用FirefoxFirebug来分析

这个页面里城市基本是在<ul class="shen_info">下面的<li id="xxx">下,html页面分析,比较流行的是BeautifulSoup4.0+版本之后叫bs4

代码片段:

root_s
= BeautifulSoup.BeautifulSoup(urllib2.urlopen(root_url).read()) ##根据url获取html页面,再转为BeautifulSoup

 

shen_info
= root_s.find('ul',attrs={'class':'shen_info'}) ##根据分析的城市所在标签特征,来搜索

 

3、切换城市,使用HttpFox来抓取post数据包信息以及返回结果

post提交的页面

postData,是程序里构建post数据的依据。此案例里有4个参数,分别为cname,pid,pageindex,pagesize,其中Pagesize看起来默认值10可以调整

返回数据,看起来是Json

Json第一部分是rowcount是该城市门店数,下面是具体的门店信息

 

FME实现

先想办法把种子页面解析好,然后分别提交查询,获取到Json

其实就一个转换器,PythonCreator。这个转换器与PythonCaller的区别是它没有输入仅有输出,所以是整个转换的起点。具体代码如下

 

解析种子页面获取城市清单;

遍历提交查询;

获取结果,并将结果输出到构造的Feature中。

 

输出结果为

 

下一篇介绍拆分Post部分到PythonCaller中去实现

第三篇介绍如何拆分解析Json结果

第四篇介绍如何根据百度地图地理编码API解析门店经纬度(前面有一篇博文已经介绍了
#GIS#[FME]不懂编程怎样批量根据地址获取经纬度
http://dwz.cn/nocode_bdgeocodeapi

 

这个系列大致内容就是这些。

 

拓展阅读

之前有介绍过类似案例,参见
http://dwz.cn/pachong_lzh

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

麦当劳,肯德基等店排班时根据营业额预估需要人手的软件,原理是什么?

M记、K记作为大型连锁餐饮企业的代表&#xff0c;门店数量多&#xff0c;员工规模大&#xff0c;在排班时&#xff0c;最重要的就是预估需要的人手和安排时段。从业务预测到人力需求再到优化排班结果&#xff0c;所选择的排班系统需要具备端到端的一体化智能排班能力&#xff0…

肯德基点餐

一、题目要求 请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统&#xff0c;合理使用C或Java或Python结合设计模式&#xff08;2种以上&#xff09;至少实现系统的以下功能&#xff1a; 1.正常餐品结算和找零。 2.基本套餐结算和找零。 3.使用优惠劵购买餐品结算和找零…

百胜中国指定肯德基、必胜客和塔可贝尔餐厅限时推出植物肉汉堡

百胜中国控股有限公司宣布与植物肉业界公司别样肉客合作&#xff0c;将于6月3日开始在中国肯德基&#xff0c;必胜客和塔可贝尔的指定餐厅限时推出别样汉堡&#xff08;Beyond Burger&#xff09;。此次合作是别样肉客的标志性产品别样汉堡在国内的首次亮相。 肯德基将于6月3日…

西式快餐是否比起肯德基更多人喜欢麦当劳,如果是原因是什么

汉堡王的京东套餐券买完不能使用&#xff0c;必须等待10分钟所谓的“系统激活”才可以使用&#xff0c;否则扫码会显示未激活。 并且店员似乎没有一个人知道等10分钟这件事。 更新吐槽金拱门麦麦脆汁鸡。 前段时间有脆汁鸡桶特价活动&#xff0c;大概四块或者五块脆汁鸡中&…

给表情包都能猜电影,ChatGPT的「涌现」能力是哪儿来的?

来源&#xff1a;机器之心 本文约4000字&#xff0c;建议阅读5分钟 现在&#xff0c;诸如 ChatGPT 这样的大型语言模型已经足够强大&#xff0c;它们已经开始表现出惊人的、让人难以预测的行为。 在正式介绍这篇文章之前&#xff0c;我们先提个问题&#xff1a;下图的表情符号描…

chatgpt赋能Python-python_pinyin

Python拼音库pinyin介绍及使用指南 Python是一种功能强大的编程语言&#xff0c;它被广泛地使用在各种领域&#xff0c;以其简单易懂的语法和丰富的库著名于世。pinyin是Python中一个常用的拼音库&#xff0c;用于将中文转换为拼音&#xff0c;是中文文本处理中必不可少的一部…

《 ChatGPT 中文调教指南 》—— 使用 ChatGPT 的正确姿势:提示工程基础入门 Prompt Engineering Quick Start

文章目录 ChatGPT 中文调教指南 🧠ChatGPT 能干什么?正经指南担任雅思写作考官写小说充当算法输出器充当 Linux 终端充当英语翻译和改进者充当论文润色者(拿摘要部分举例)充当英翻中充当英英词典(附中文解释)充当前端智能思路助手担任面试官文字冒险游戏担任产品经理做表格…

我的CSDN笔记总索引(阅读量降序,代码自动遍历生成HTML5源码)

Python 内置方法 os.system()&#xff0c;调用 Linux 命令行工具 crul 获取 CSDN 博文页面源码&#xff1b;Python 内置 re 库正则解析出博文笔记阅读量等信息&#xff0c;“插值字符串格式化” 按阅读量降序输出博文笔记索引链接( HTML5 源码文本)。 【学习的细节是欢悦的历程…

AI大模型已经出现不可预测的能力

编者按&#xff1a;日前&#xff0c;非盈利组织生命未来研究所发布了一封《暂停大型人工智能研究》的公开信&#xff0c;马斯克等千名科技人士进行了签名。虽然部分签署人的真实性存疑&#xff0c;但是大型语言模型&#xff08;LLMs&#xff09;的“涌现”能力确实可能会导致突…

【人人都能读标准】前言:为什么你学不精JavaScript?

本文为《人人都能读标准》—— ECMAScript篇的前言。我在这个仓库中系统地介绍了标准的阅读规则以及使用方式&#xff0c;并深入剖析了标准对JavaScript核心原理的描述。 我先从一个JavaScript的基础概念 —— 作用域&#xff0c;讲起。 你可以在任何搜索引擎或者技术论坛中搜…

基于PyQT5的翻译小程序(支持百度翻译和有道词典)

基于PyQT5制作的翻译小程序 通过requests获取翻译结果&#xff0c;使用PyQT5设计界面&#xff0c;使用SystemHotkey设置全局快捷键 1. 实现基本翻译功能 2. 实现截图&#xff08;支持快捷键F1启动&#xff09;或拖入图片进行识别翻译 3. 实现伪划词&#xff08;复制&#x…

ChatGPT Prompt提示词学习手册

欢迎来到《ChatGPT提示的艺术&#xff1a;制作清晰和有效提示的指南》&#xff01;本文全面的指南中&#xff0c;你将学习到关于制作清晰和有效的ChatGPT提示的一切知识&#xff0c;以推动引人入胜和信息丰富的对话。 无论你是初学者还是有经验的ChatGPT用户&#xff0c;本文都…

ChatGPT可担任不同角色

ChatGPT可担任不同角色 担任雅思写作考官 "我希望你假定自己是雅思写作考官&#xff0c;根据雅思评判标准&#xff0c;按我给你的雅思考题和对应答案给我评分&#xff0c;并且按照雅思写作评分细则给出打分依据。此外&#xff0c;请给我详细的修改意见并写出满分范文。第一…

OpenCV inRange 函数使用详解

本文是 OpenCV图像视觉入门之路的第6篇文章&#xff0c;本人详细的解决了RGB转HSV&#xff0c;HSV通过AI来进行HSV转 inRange() 函数的范围值操作&#xff0c;简单全面的解决了OpenCV对于图像中某个颜色的分析工作&#xff0c;本文通过识别红色区域和蓝色区域来编写示例程序和博…

用chatGPT4 代替运营基础工作实例分享 (非代码类)

经过实测&#xff0c;chatgpt对亚马逊的算法、规则非常了解&#xff0c;开始尝试用它来代替运营去做埋词、优化文案的动作&#xff0c;上图案例&#xff1a; 1&#xff0c;先让他代入角色&#xff0c;一个经验丰富的卖家&#xff08;为方便演示&#xff0c;就让它写中文文案&am…

实战 | ChatGPT在渗透中的利用(转载)

转载自安全帮Liveive ChatGPT如何帮助我们渗透。 使用chatGPT渗透tryhackme.com 上的一台linux 机器“ Lazy Admin ”。 假设我只会一些基础的黑客知识&#xff0c;这时我们可以问 ChatGPT 渗透的第一步应该做什么。 它告诉我们应该收集目标信息并通过执行网络扫描找到目标漏洞…

一文总结 Google I/O 2023

今日凌晨举行的谷歌 I / O 2023 开发者大会上&#xff0c;如果说和往年有什么不同&#xff0c;那么应该就是更大力度的 All in AI 。 毕竟在去年 I/O 宣布重点投入 AI 之后&#xff0c;年末却被 OpenAI 的 ChatGPT “越塔偷家”&#xff0c;匆忙攒出一个发布会还让 Bard 爆出事…

ChatGPT4 高分通过中国数据库系统工程师(DBA)认证

ChatGPT已经通过了美国MBA、法律和医学考试&#xff0c;ChatGPT又通过了中国数据库系统工程师考试。这次考试使用了2021年的真实试卷&#xff0c;上午的笔试题全部为选择题&#xff0c;总分75分&#xff08;45分通过&#xff09;。 ChatGPT3.5考了49分&#xff08;勉强通过&…

文心一言 VS chatgpt (4)-- 算法导论2.2 1~2题

一、用O记号表示函数(n ^ 3)/1000-100(n^2)-100n十3。 文心一言&#xff1a; chatgpt&#xff1a; 可以使用大 O 记号表示该函数的渐进复杂度&#xff0c;即&#xff1a; f ( n ) n 3 1000 − 100 n 2 − 100 n 13 O ( n 3 ) . f(n) \frac{n^3}{1000} - 100n^2 - 100n^{13…

ChatGPT内容创作工具

在当前信息化快速发展的时代&#xff0c;内容创作越来越成为具有重要商业价值的行业。AI&#xff08;人工智能&#xff09;内容创作工具因其独特的技术优势&#xff0c;正迅速崛起并受到广泛应用。基于ChatGPT大型语言模型和自然语言处理技术&#xff0c;AI内容创作工具具有先进…