你在这里


API

让国内国外都可以调用Google地图API

James Qi 2016年11月15日 - 13:46 发布

  2009年开始我们就在网址中调用了Google Maps API,后来Google因故退出中国大陆,Google的多项服务都无法使用,我们就让主要针对国外浏览者的站点继续使用Google Maps API,主要针对国内浏览者的站点改用Baidu地图API,不过这样的话,主要针对国外浏览者的站点中的Google Maps API代码就会让少数国内浏览者(包

Drupal 7中让页面归类的PHP程序

James Qi 2016年6月14日 - 09:38 发布

  最近需要编写一段程序来读取Drupal网站中页面Node的某个文本字段,进行处理、判断、匹配后,将这个页面归类Taxonomy到某个术语表Vocabulary的术语Term中。在刚开始用Drupal 6的时候就曾经编写过类似程序来分类,见博文《Drupal中让Node归类的PHP程序》,在后来使用Drupal 7的过程中,绝大多数分类都是在创建网站、导入数据的时候就自动进行了,使用了术语来源Term reference字段和自动完成术语挂件(标签)Autocomplete term widget (tagging)控件,但也有把数据作为文本导入字段,然后再运行php程序进行分类的情况,不过Drupal 7中的程序与Drupal 6的有些不同,当时没有记录博客,后来再找以前的程序很费劲,现在补记一下,示范程序如下:

自由标签:

网页中嵌入Google Custom Search API搜索结果

James Qi 2016年6月12日 - 14:30 发布

  很早以前我们就在MediaWiki网站的页面中嵌入过Google Search API代码,见我2008年记录的《Google AJAX Search API 很好!很强大!》,这些嵌入的内容对网站浏览者来说还是很有用的,但到2010年ZF“整治互联网低俗之风”的时候,我们网站上嵌入的Google搜索结果也成了我们网站“涉黄”的原因,只好乖乖地去掉API调用代码,随后Google搜索也被迫退出中国大陆。

  但在我们放在国外服务器上提供给老外浏览的站点上我们依然保留了Google Web Search API的内容,直到这个API被Google自身升级、淘汰,Google推出Custom Search API是2010年,当时说老的Search API将继续可以用3年,实际上延续了近6年,前一阵子我们收到的通知邮件中说在2016年4月29日正式停止服务。

自由标签:

腾讯、百度推出的OCR API服务

James Qi 2016年5月9日 - 11:10 发布

  OCR文字识别其实可以算很老的技术了,一二十年前购买扫描仪的时候就配有文字识别软件,记得用起来比较勉强,在比较复杂的中英文混排、版面不规则的情况下,很难获得满意的识别效果。

  这几年我们在做Web展示网站的时候,有些原始资料只有扫描件,尝试过OCR软件识别或者网上的OCR识别服务,但都不理想,而手工录入、校对的工作量太大,也搁置下来了。

  近期看到新闻,说腾讯OCR服务永久免费,就去网上看了看(先骂一句百度:在百度中搜“腾讯OCR API”,结果是无关企业的OCR广告排在前面、百度自己的OCR服务接着出现,而把腾讯公司的OCR相关信息排在后面),现在的OCR已经引入了大数据、云计算、人工智能、机器学习等新概念,具体请看:CRUX OCR

  以及百度自己也推出OCR服务,免费的已经在API集市中下架关闭,剩下收费的百度OCR文字识别企业版,价钱不算贵,但使用起来还是需要一些技术水平的,毕竟需要编写程序去调用接口。

自由标签:

Google Webmaster Tools中抓取错误的批量修复

James Qi 2014年9月22日 - 15:29 发布

  Google的网站站长管理平台中可以看到Google Bot抓取遇到的错误,而且错误比较多的时候,会有邮件提醒,这是个不错的功能,当系列网站多以及页面多、服务器多的时候,很难人工都及时检查到各种页面的各种错误,有Google的提醒能让我们及时获取异常信息、及时检查处理。

  一般后台看到报错不是太多的时候,我们就没有处理(Google Bot会自己定期去检查错误是否修复)或者马上人工标记为已修复,人工标记存在一个数量限制的问题,一个站点每天只能最多修复1000条,这样如果遇到报错有上万、上十万的时候,理论上就需要数十天甚至上百天来修复。

  查看了最新的Google Webmaster Tools的API调用,有两个功能是需要使用的:

桌面网站和手机网站中嵌入百度地图API

James Qi 2014年9月9日 - 14:25 发布

  早在2009年,我就在MediaWiki中通过Google Maps API调用谷歌地图,但后来随着Google退出中国大陆,Google地图服务也不好使用了,直到今年6月前后基本上无法使用了,搞得嵌入Google Maps API代码的网站打开时延时非常严重,甚至无法打开,我们被迫将放在国内服务器上的中文网站中的谷歌地图代码全部删除,在国外服务器上放置的外文网站不受影响。

  以前也知道国内有百度等地图可以提供类似Google的调用服务,但一直没有尝试。前几天去摸索了一下,其实很类似Google的API,稍微看一看、改一改、试一试就可以成功调用百度地图API了,参考资料:

调用Bing Webmaster API批量提交sitemap

James Qi 2013年10月15日 - 10:12 发布

  Google Webmaster Tools我们很早就在用,去年也开始使用其API,写过一篇记录《调用Google Webmaster Data API批量提交sitemap》,Bing和Yahoo的类似Webmaster工具我们也很早就注册、尝试过,后来Yahoo搜索并入Bing后,我们也没有多关注。

  上个月接到微软必应搜索部门客户经理的邮件,推荐使用Bing Toolbox Webmaster,想到我们现在的网站以外文、国外浏览者为主要发展方向,而Bing在美国的市场占有率也达到20%多,还是有必要去多了解、利用的,而且Bing去年也推出了新的API便于批量操作,所以这几天花了一些时间去尝试。

自由标签:

Drupal网站内容类型、字段名称、页面数量的读取

James Qi 2013年3月4日 - 18:59 发布

  这些天在做系列网站的时候,遇到多个子网站、每个子网站都有多个内容类型,希望在首页展示内容类型、包含的字段名称以及页面数量,以前是人工来读取的,但网站多了就很麻烦,而且以后不便更新,这次用Drupal的API调用及SQL语句来实现了。

  站内读取的例子:http://hangye.mingluji.com/it/,源代码:

自由标签:

替换Drupal中的联系表单和邮件发送函数

James Qi 2013年1月31日 - 15:40 发布

  我们一些使用Drupal的网站中启用了系统自带的留言功能contact模块,用户使用的时候填入表单就可以反馈,不需要另外发送邮件,还是很方便的,但同事发现一些要求更改或者删除某个页面的留言中,用户并没有按照我们的提示填写需要更改或者删除的页面网址,导致需要反复联系多次,增加了工作量也不利于客户体验。

  本来同事是想在contact表单中加入一栏让用户填写相关的网址,但默认的contact模块并无此功能,这几天在网上搜索了半天才找到办法,就是修改contact模块中的表单及发送php程序可以搞定。我先是尝试直接修改drupal/modules/contact中的两个文件可以解决:

  • contact.pages.inc:修改其中的表单程序,添加一个表单域
  • contact.module:修改其中的邮件发送程序,添加新增的一个表单域的值

  又改进了一点,添加的一栏可以不需要用户填写,而是读取HTTP_REFERER函数,也就是上一页的来源网址,基本上都是用户需要修改或者删除的网址,采取hidden的表单域方式。

自由标签:

调用Google Webmaster Data API批量提交sitemap

James Qi 2012年10月25日 - 17:18 发布

  前几天在为系列网站提交网站地图的时候,发现提交多语言、包含手机版的上百个sitemap实在是太痛苦了,不停地click+copy&paste做多了直让人犯困,算了一下,至少需要几十个小时来做这种极度无聊的工作。

  了解到Google Webmaster Data API是可以用于批量提交sitemap的,但不知道如何使用,查了一些资料也没有找到突破头绪就先搁置了,后来尝试用robots.txt提交,但这种办法只能提交网站更目录下的sitemap(例如http://che.postcodebase.com/sitemap.xml),无法识别子目录(或者说子路径)下的sitemap(例如http://che.postcodebase.com/m/ar/sitemap.xml)。

页面

订阅 RSS - API