Y's note

Web技術・プロダクトマネジメント・そして経営について

本ブログの更新を停止しており、今後は下記Noteに記載していきます。
https://note.com/yutakikuchi/

Mobile-UserAgent検索システム

概要

  1. Mobileサイト開発者向けのUserAgentの検索、一覧表示、useragentswitcher用のxml-dumpが可能です。
  2. モバイル端末(SmartPhone含む)をサポートしています。
  3. キャリアの公式サイトなどを自動的にクローリングしてデータを生成しています。
  4. 一覧取得のWebAPIを作成中です。
  5. Google App Engine(Python)で作成しています。

データ更新

  • 基本的にレスポンスデータの更新は1日1回です。
  • キャリアの公式/UserAgentのまとめサイトをスクレイプしています。
  • WillcomはUserAgentの掲載がPDFなので手動で更新します。
  • SmartPhoneのUserAgentが各キャリアサイトに載っていないので、随時メーカーサイトをwatchして開発者が手動で更新をかけます。
  • このブログのコメント投稿に皆さんから追加してほしいUserAgentを載せてもらい、それを開発者が随時確認して手動で更新という運用フローにしたいと思います。

開発者めも

DBモデル設計
項目 データ内容
Carrier String DoCoMo/EzWeb/SoftBank/WillCom/emobile
Model String 端末のモデル名 001SHなど
Type String Browser/JAR/Appli(DoCoMo) Browser/Appli/Widget/Flash/(SoftBank)
UserAgent String SoftBank/2.0/001SH/SHJ001[/Serial] Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1
Os String 搭載されているOS iOS/Android
DBモデルのコード
#! /usr/bin/env python
# -*- coding: utf-8 -*-
from google.appengine.ext import db

class UserAgent( db.Model ):
  Carrier = db.StringProperty( required=True )
  Group = db.StringProperty()
  Model = db.StringProperty( required=True )
  Os = db.StringProperty()
  Browser = db.StringProperty( required=True )
  Pcbrowser = db.StringProperty()
  Applibrowser = db.StringProperty()
  Widgetbrowser = db.StringProperty()
  Jarbrowser = db.StringProperty() 
  Updatetime = db.DateProperty()  
GQL

q = db.GqlQuery( "SELECT * FROM UserAgent Where Carrier='DoCoMo'" )
if q.count() >= 1

  • orが使えないのでINで代用。

list = [ 'DoCoMo', 'au', 'SoftBank', 'WILLCOM', 'emobile' ]
q = db.GqlQuery( "SELECT * FROM UserAgent Where Carrier IN :1", list )

  • like検索はできない。

UserAgentSwitcher用のdumpデータ

dumpファイルの正式版はこちらにあります。
http://mobile-ua.appspot.com/download

以下はサンプルです。

<?xml version="1.0" encoding="UTF-8"?>
<useragentswitcher>
 <useragent description="DoCoMo SH-03C" useragent="Mozilla/5.0 (Linux; U; Android 2.1-update1; ja-jp; SH-03C Build/SB110) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17"/>
 <useragent description="DoCoMo GALAXY Tab" useragent="Mozilla/5.0 (Linux; U; Android 2.1-update1; ja-jp; SH-03C Build/SB110) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17"/>
 <useragent description="DoCoMo BlackBerry Bold 9700" useragent="BlackBerry9700/5.0.0.743 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/220"/>
 <useragent description="DoCoMo HT-03A" useragent="Mozilla/5.0 (Linux; U; Android 1.6; ja-jp; Docomo HT-03A Build/DRD08) AppleWebKit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1"/>
 <useragent description="DoCoMo GALAXY S" useragent="Mozilla/5.0 (Linux; U; Android 2.2; ja-jp; SC-02B Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"/>
 <useragent description="DoCoMo Xperia" useragent="Mozilla/5.0 (Linux; U; Android 2.1-update1; ja-jp; SonyEricssonSO-01B Build/2.0.B.0.138) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17"/>
 <useragent description="DoCoMo T-01C" useragent="Mozilla/5.0 (Linux; U; Android 2.1-update1; ja-jp; T-01C Build/TER018) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17"/>
 <useragent description="DoCoMo SC-01B" useragent="Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 8.12; MSIEMobile 6.0) SC-01B Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SC-01B)"/>
</useragentswitcher>

更新履歴

初回リリース

2011/3/31