淘宝IP地址库设计
当初选择做这么一个项目,不是为了拷贝一份库自己做服务,也不是为了其他目的,只是单纯的熟悉关于http和mysql方面的知识。 下面言归正传。 1、淘宝IP地址库简介 此地址库可以根据用户提供的IP地址,快速查询出该IP地址所在的地理信息和地理相关的信息,包括
当初选择做这么一个项目,不是为了拷贝一份库自己做服务,也不是为了其他目的,只是单纯的熟悉关于http和mysql方面的知识。
下面言归正传。
1、淘宝IP地址库简介
此地址库可以根据用户提供的IP地址,快速查询出该IP地址所在的地理信息和地理相关的信息,包括国家、省、市和运营商。
用户也可以主动提交信息来纠错。
主要优势表现为:
(1)地域
覆盖度:94.54% 精确到市级
准确度:96.5% 精确到市级
(2)运营商
覆盖度:93.8%
准确度:暂无统计数据
(3)查询速度
10qps
注:阿里同机房内网,实测速度为4qps左右。
(4)接口
符合REST规范,方便扩展;
使用JSON作为数据格式,方便使用;
2、基础数据
下面介绍一下,需要使用到的一些基础数据项,以及来源。
首先,我们来分析一下淘宝IP地址库的返回数据,
{
"code" : 0, // 请求成功/失败
"data" : {
"country" : "\u4e2d\u56fd", // 国家
"country_id" : "CN", // 国家代码
"area" : "\u534e\u5317", // 地区
"area_id" : "100000", // 地区代码
"region" : "\u5317\u4eac\u5e02", // 省(自治区、直辖市、特别行政区)
"region_id" : "110000", // 省代码
"city" : "\u5317\u4eac\u5e02", // 市(地区、自治州、盟及国家直辖市所属市辖区和县)
"city_id" : "110000", // 市代码
"county" : "", // 县(市辖区、县级市、旗)
"county_id" : "-1", // 县代码
"isp" : "\u4e2d\u56fd\u79d1\u6280\u7f51", // 运营商
"isp_id" : "1000114", // 运营商代码
"ip" : "210.75.225.254" // ipv4/ipv6
}
}
其中:
国家与国家代码,由联合国统计局统一制定。详见:http://zh.wikipedia.org/wiki/ISO_3166-1
地区、省、市、县以及相应的代码,由中华人民共和国国家统计局统一制定,详见:http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201401/t20140116_501070.html
运营商与运营商代码,由国际电联电信标准化部门统一制定,不过已经很久没有维护,不可用。到目前为止,本人也没有找到一份完整的编码表,希望知晓者告知。暂且就以淘宝IP地址库中编码为准。
国家IP地址段,由互联网IP地址分配中心统一管理,在此附上中文版的地址段信息,详见程默的博客,在此表示感谢:http://ipblock.chacuo.net/
3、数据库设计
(1)数据项及命名
国家 country
地区 region
省(自治区、直辖市、特别行政区) province
市(地区、自治州、盟及国家直辖市所属市辖区和县) city
县(市辖区、县级市、旗) county
镇(乡、城镇) town
村(村庄) village
运营商 isp
IP ip
(2)IP表
国家代码 2个字节 CHAR(2)
县代码 6位整形 UINT(20)
村代码 12位整形 UINT(40)
运营商代码 7位整形 UINT(24)
IP地址 4个字节 UINT(32)
(3)国家表
二位字母 2个字节 CHAR(2)
三位字母 3个字节 CHAR(3)
三位数字 3位整形 UINT(10)
ISO英文用名 48个字节 CHAR(48)
中文用名 48个字节 CHAR(48)
(4)地区表
代码 1位整形 UINT(4)
名称 4个字节 CHAR(4)
(5)县(市辖区、县级市、旗)表
代码 6位整形 UINT(20)
名称 48个字节 CHAR(48)
(6)村(村庄)表
代码 12位整形 UINT(40)
名称 48个字节 CHAR(48)
(7)运营商表
代码 7位整形 UINT(24)
名称 48个字节 CHAR(48)
4、数据采集
IP运营商信息来源于各个运营商,IP所属地域信息来源于CNNIC,不过这些信息不太容易拿到完整的。
所以,此处就以淘宝IP地址库为来源。
5、实现方案
使用 nodejs + python 实现,nodejs主要实现网络交互集中的部分,python主要实现网页抓取。数据库使用常见的 mysql。
(1)国家代码抓取
使用 python 实现从
http://zh.wikipedia.org/wiki/ISO_3166-1 地址抓取代码信息,并保存文本country.txt。当然,也可以直接手动拷贝粘贴到文本中。
使用 nodejs 按行读取上一步抓取到的文本,做处理,使用 node-mysql 写入数据库。
(2)县代码抓取
使用 python 实现从
http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201401/t20140116_501070.html 地址抓取代码信息,并保存文本cncounty.txt。当然,也可以直接手动拷贝粘贴到文本中。
使用 nodejs 按行读取上一步抓取到的文本,做处理,使用 node-mysql 写入数据库。
(3)国内IP段抓取
使用 python 实现从
http://ipblock.chacuo.net/ 地址抓取IP段信息,并保存文本cnip.txt。当然,也可以直接手动拷贝粘贴到文本中。
(4)IP地址信息查询
使用 nodejs 读取 cnip.txt 文本,每次解析10000个IP,使用 http 模块从淘宝IP地址库查询结果,并使用 node-mysql 写入数据库。
由于在 nodejs 中 http 处理和 mysql 处理都是异步操作,所以,增加一个缓冲区,保存http请求结果。笔者使用了经典的生产者消费者模型来处理这个问题。
6、结果
为了保证请求的稳定,使用阿里云服务器运行此系统。
实际运行时,每秒可以稳定的请求到5个IP信息,中国目前(截止2014年1月)拥有3.3亿IP,完成全部请求大约需要2.98天。
完成全部存储,数据库大小为22.3GB。
转载请注明来自隐居士(石硕)的CSDN博客:blog.csdn.net/shishuo365
如有疑问请发邮件shishuo365#126.com(将#更换为@)

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









2024年のタオバオ無料注文イベントは1日3回開催され、誰もが対応する時間に対応する量の商品を注文し、支払う必要があります。無料注文金額は同額の赤い封筒の形で配布されます。次に、2024 年に淘宝網の無料注文の赤い封筒を受け取る方法を紹介します。それを入手します。無料のユーザーの場合、赤い封筒の資格は、アクティベーション状態にあるカードとクーポンのパッケージに発行されます。タオバオのウェブ版には現在カードとクーポンのパッケージがなく、無料注文イベントの当選記録のみが表示されます。カードとクーポンのパッケージは [淘宝網 APP - 私の淘宝網 - 私の権利 - 赤い封筒] にあります。淘宝網の無料赤い封筒を入手する方法 20241. 無料の注文を獲得したユーザーには、有効化を待機している状態のカードとクーポン パッケージに赤い封筒の資格が配布されます。 2. 現在、淘宝網の Web バージョンでは、カードとクーポンのパッケージがあり、無料注文アクティビティの当選記録のみが表示されます。 ;3. カード クーポン パッケージは [淘宝網 APP - 私の淘宝網 - 私の権利 - 赤い封筒] にあります。

フェルマーの最終定理、AIに征服されようとしている?そして、全体の中で最も意味のある部分は、AI が解決しようとしているフェルマーの最終定理は、まさに AI が役に立たないことを証明するものであるということです。かつて、数学は純粋な人間の知性の領域に属していましたが、現在、この領域は高度なアルゴリズムによって解読され、踏みにじられています。画像 フェルマーの最終定理は、何世紀にもわたって数学者を悩ませてきた「悪名高い」パズルです。それは 1993 年に証明され、現在数学者たちはコンピュータを使って証明を再現するという大きな計画を立てています。彼らは、このバージョンの証明に含まれる論理的エラーがコンピュータによってチェックできることを望んでいます。プロジェクトアドレス: https://github.com/riccardobrasca/flt

タオバオは、多くの友人がよく使用するオンライン ショッピング ソフトウェアです。あなたは通常、タオバオで注文したり、さまざまなものを購入したりします。ユーザーに赤い封筒のリマインダー機能を提供します。これをオフにしたいという友人もいます。急いで PHP 中国語をチェックしてください。ウェブサイトをご覧ください。タオバオで赤い封筒のリマインダーをオフにする手順のリスト 1. タオバオ APP のパーソナルセンターを開き、[設定] ボタンを選択してページに入ります。 2. [メッセージ通知] オプションを見つけて、メッセージプッシュスイッチを選択し、赤い封筒のメッセージを見つけてスイッチをオフにします。 3. または、携帯電話の設定ページから淘宝アプリの通知許可をオフにすることもできます。これにより、淘宝網からのすべてのメッセージはプッシュされず、通知許可をオンにした後にのみ表示されます。 4. 受信するメッセージの種類をユーザーが設定できるため、使いやすくなります。

タオバオ510の無料赤い封筒の使い方は?タオバオは最近、510周年を記念して無料注文イベントを開始しました。このイベントでは、多くの特典があり、このイベントに参加したいと考えている友人もいます。ですが、具体的な使い方がわかっている場合は、今日の関連する紹介を見てみましょう。タオバオの 510 周年記念無料注文レッド パックの使用手順: 無料注文レッド パックは、推測質問のためのすべての注文が確認され受信された後に使用できます。 1. ユーザーはウェブ版淘宝網を通じて無料の赤い封筒を発行および回収することができます。現在、カードとクーポンのパッケージはありませんが、[淘宝網 APP - 私の淘宝網 - 私の権利 - 赤い封筒] で見ることができます。無料の注文を取得したユーザーには、赤い封筒の資格がカードとクーポンのパッケージに配布され、カードとクーポンのパッケージは賞品獲得のために有効化されています。

4月26日のニュースによると、ZTEの5GポータブルWi-Fi U50Sが正式に販売され、価格は899元からとなっている。外観デザインに関しては、ZTE U50S ポータブル Wi-Fi はシンプルでスタイリッシュで、持ちやすく、梱包しやすいです。サイズは159/73/18mmで持ち運びが簡単で、いつでもどこでも5G高速ネットワークを楽しむことができ、妨げられないモバイルオフィスとエンターテインメント体験を実現します。 ZTE 5G ポータブル Wi-Fi U50S は、最大 1800Mbps のピーク レートの高度な Wi-Fi 6 プロトコルをサポートし、Snapdragon X55 高性能 5G プラットフォームを利用して、ユーザーに非常に高速なネットワーク エクスペリエンスを提供します。 5G デュアルモード SA+NSA ネットワーク環境と Sub-6GHz 周波数帯域をサポートするだけでなく、測定されたネットワーク速度は驚異的な 500Mbps に達することもあり、これは簡単に満足できます。

タオバオで買い物をするとき、割引を受けるために無料の赤い封筒をよく使います。しかし、返金が必要な場合、この無料の赤い封筒は返却されるのでしょうか?この質問に対する答えを見てみましょう。タオバオの無料の赤い封筒は返金されますか? 状況によっては、赤い封筒を受け取ったときに、製品を引き換える前に赤い封筒がアクティブ化保留状態になっているため、アクティブ化される赤い封筒は使用できません。購入した製品の受領が確認されるまで一時的に待機し、アクティベートする必要がある赤い封筒を使用できます。無料の赤い封筒を使用した後に製品に問題があり、返品する必要がある場合、赤い封筒の返却は実際の状況に応じて判断する必要があります。 1. 返金ルール 11. 返品後に返金が発生した場合赤い封筒を使用した場合、赤い封筒は比例して返却されます。 2. 返却期限を過ぎていない場合は、返却された赤い封筒の使用期間が本来の使用期限となります。期限を過ぎた場合は7日以内に発行されます。

4月17日のニュースによると、HMDは有名なビールブランドのハイネケンとクリエイティブ企業のボデガと提携して、ユニークな折りたたみ式携帯電話「The Boring Phone」を発売した。この携帯電話は、デザインの革新性だけでなく、機能面でも自然に立ち返り、人々を本当の人間関係に戻し、友人と飲む純粋な時間を楽しむことを目指しています。退屈な携帯電話は、ユニークな透明なフリップデザインを採用し、シンプルでありながらエレガントな美しさを示しています。内部には 2.8 インチ QVGA ディスプレイ、外部には 1.77 インチ ディスプレイが装備されており、ユーザーに基本的な視覚的インタラクション エクスペリエンスを提供します。写真に関しては、3,000万画素のカメラしか搭載されていませんが、日常の簡単な作業には十分です。

7月12日のニュースによると、Honor Magic V3シリーズは本日正式にリリースされ、新しいHonor Vision Soothing Oasisアイプロテクションスクリーンを搭載しており、スクリーン自体は高スペックで高品質であると同時に、AIアクティブアイプロテクションの導入も先駆けとなっています。テクノロジー。近視を軽減する伝統的な方法は「近視メガネ」であると報告されています。近視メガネの度数は均等に分散され、視野の中心領域は網膜上に結像されますが、周辺領域は網膜の後ろに結像されます。網膜は像が遅れていると認識し、眼軸方向の成長を促進し、その度数が深くなります。現在、近視の進行を軽減する主な方法の 1 つは、「デフォーカス レンズ」です。中央領域は通常の度数で、周辺領域は光学設計の隔壁によって調整され、周辺領域の像が収まります。網膜の前。
