市场上到底有多少款手机?(1)

来源:互联网 发布:社员网 知乎 编辑:程序博客网 时间:2024/04/23 16:52

前边的扯淡

最近在接到一个项目,要进行手机兼容性测试,随之而来的一个问题就是,市场上到底有多少款手机?

要想弄清楚有多少款手机,首先要弄清楚什么是手机型号,以锤子手机为例,罗胖子一直鼓吹的锤子手机 ,型号是Snartisan T1,如果你天真的以为锤子手机的型号就是T1,那么你就输了,当你拿到一个锤子手机,打开手机设置中关于手机的部分时,显示的手机型号是SM701。

坑爹么,其实大多数手机都是这样的,三星的Note 2,S4也不是手机型号,他们的型号可能是N9008V之类的,而且一个Note 2有8种型号;

最坑爹的可能就是小米了,打开红米手机或者任意一款小米手机,它的手机型号竟然是2013022之类的;

因此看来(也有很大的可能是我后知后觉),手机型号应该分成两个属性,一个应该叫商用名,比如红米、Note2之类的;另一个才是型号,I9100、2013022;

但是另一个坑爹的问题来了,国内大多数手机网站,什么Zol、什么手机中国,基本上都是以手机的商用名为检索对象的。

官方数据

每当遇到这种众人数据不统一的问题时,习惯上就会想到官方数据,手机的问题也不例外。
在中国上市的所有手机,都要去两个机构进行检测,一个是去质检总局拿3C的证书,另一个就是去工信部拿入网许可证。
其中工信部的入网许可证颁发机构还自己弄了一个网站,就是今天要说的主角:

手机信息网

从手机信息网采集数据有几个好处:

  • 信息权威,所有在国内公开销售的手机都在上面;
  • 该网站所有的手机都是以型号为索引,而不是以坑爹的商用名;
  • 该网站基本上都是静态的Html写成的,特别是关键数据都是Html,抓去方便;
确定了信息来源,就要进行艰苦卓绝的分析整理了。
手机信息网上,每一款手机都有一个独立的静态页面。要抓某一款手机,只要把他相应的网页抓出来就可以了。关键是搞清楚这些网页是如何组织的,以便将他们一网打尽。
经过长时间的分析,我发现有两种组织方式:
一种是几乎每个页面上都有的一个下拉列表;
这种方式有一个问题,上述两个下拉列表是JavaScript,是动态的从数据库种取数据,以我现在的技术水平,还做不到抓取这种动态数据。
另一种方式是通过品牌列表:MobileBrandName.aspx
这个网页列出了所有品牌的列表;其中所有的品牌都是以MobileSelectCellNew开头的,这一点在后面抓取的时候会用到;

进入到某一个品牌的页面,比如三星:MobileSelectCellNew.aspx?code=GodbVIFKVxB5fuw6Wej2UQ%3d%3d
在每一个品牌的页面种列出近三年的手机型号,每一年一个页面,每个页面都是以MobileSelectCellYearNew开头的;
只有近三年,之前的手机也有,但是没有在这里列出来。我还专门就这个事情给手机信息网打过电话,
得到的答复就是,只有三年。
三年前的手机型号可以通过搜索或其它方式找到页面。

进入到三星2014年的页面MobileSelectCellYearNew.aspx?code=GodbVIFKVxDUd5e7T%2fbP2hbkawuDFhkYGwrdzWB3esk%3d
这里面就列了当年所有手机的型号及页面了,只要抓出链接,就好了。

今天就写到这里吧,老婆叫回家吃饭了。
0 0
原创粉丝点击