查号吧网站从2010年增加手机号段数据以来一直都保持着更新,《全国各地移动、联通、电信手机号段数据,归属地查询持续更新》这篇文章中有具体记录,在2014年底之前都是很有规律地每月更新一次,数据对比、处理、导入都很习惯了。但2015年1月原来的数据来源出了一套大的更新版本后基本停止更新了,我们到2016年3月才再次寻找数据来源进行更新,因为数据来源、格式、字段都有一些变化,所以需要编写程序来进行处理,现在把步骤记录一下:
- 新数据准备:下载rar文件后解压,有txt和xlsx两个版本,用编辑器打开txt文件,转换格式为utf8编码、unix文件格式(如果直接转换后看到文件后半部分出现乱码,可能需要先替换/r/n为/n),另存为一个文件mobile-20160324-334447-u8unix.txt,上传到服务器上/backup/mobile_7/2016-04;
- 原数据导出:运行export.sh(内容为mysql -hhostname -uusername -ppassword -e"use tablename;SELECT cl_sortkey FROM prefix_categorylinks where cl_to ='手机七位' and cl_type = 'page' limit 500000;" > export.txt)导出原来的号段数据到export.txt;
- 数据对比:运行自己编写的程序 compare.php 对mobile-20160324-334447-u8unix.txt 和 export.txt 进行比较,生成output-2016-4.txt和output-2016-4.xml文件;
- 数据导入:进入:/alidata/www/wiki.site.com/maintenance/ ,运行: /alidata/server/php/bin/php importDump.php /backup/mobile_7/2016-04/output-2016-4-test.xml 就可以导入MediaWiki网站了。
用Drupal搭建的新版查号吧网站用了www.chahaoba.cn这个域名,去年导入了一次七位手机号段,但后来没有更新,这次也进行更新,以后会与MediaWiki版本的同步进行每月数据更新,步骤如下:
- 新数据准备:与上面的基本一样,下载rar文件后解压,有txt和xlsx两个版本,用编辑器打开txt文件,转换格式为utf8编码、unix文件格式(如果直接转换后看到文件后半部分出现乱码,可能需要先替换/r/n为/n),另存为一个文件mobile-20160324-334447-u8unix.txt,上传到服务器上/alidata/www/drupal.chahaoba.com/sites/www.chahaoba.cn/files;
- Feeds导入设置:设置为csv导入node到number内容类型,跳过已经存在的页面,映射字段number, province, city, operator, card_type, areacode, postcode;
- 数据导入:进入页面/import/mobile ,输入导入的文件名就可以导入了。
评论