宛先URL:バイドゥマップ
使用されているテクノロジーは、実際にはBaidu Mapsが提供する開発者ツールです。暴力はありません。一般的に言って、比較的標準的です。奇妙に感じるのは、インターフェイスを呼び出すと、コンピューターのネットワークが常に切断されていることだけです。内部のファイアウォールによって修正されたようですが、修正されるべきではありません。これは違法な操作ではありません。
次のステップは、検証方法を選択することです。最初に、IPホワイトリストを選択しました。次に、IPを変更した場合、それが機能しないかどうかを考えました。そのため、sn検証方式を採用しています。
このステップで覚えておく必要があるのは、開発者のakとskです。この秘密鍵をコード部分から削除しました
4. リクエストする
リクエストはこのURLを中心に展開します
クローラーを変更する必要がある次のステップは
http://api.map.baidu.com/geocoding/v3/?address=No。10、Shangdi Tenth Street、Haidian District、Beijing&output = json&ak = Your ak&callback = showLocation // GETリクエスト
注:現在のインターフェースドキュメントはV3.0であり、V2.0以前のバージョンの新規ユーザーは2019.6.18以降使用できません。古いユーザーは引き続きV2.0以前のバージョンを使用して、リバースジオコーディングサービスをリクエストできます。ユーザーエクスペリエンスを確保するために、できるだけ早くV3.0に移行することをお勧めします。
# - *- coding: utf-8-*-import urllib.request, urllib.parse, urllib.error
import json
import hashlib
import csv
# 出力形式はjsonです
output ='json'
# 開発者プラットフォームによって取得されたAk
ak ='*****************'
# 開発者プラットフォームによって取得されたSk
sk='******************'
# ターゲットの位置,こちらは外部からインポートできます
a=['北京','キャピタル医科大学','天国の神殿病院','Tiantongyuan','テキサス','杭州','上海','北京大学','天津']
# 保存場所を開く
csv_obj =open('./python/地理的座標をクロールする/data.csv','w',newline='', encoding="utf-8")
# タイトルを書く
csv.writer(csv_obj).writerow(["ポジション","lng","lat"])
# クロール
for i in a:
queryStr ='/geocoding/v3/?address={}&output=json&ak={}'.format(i,ak)
# トランスコード、安全はトランスコードされていない部分です
encodedStr = urllib.parse.quote(queryStr, safe="/:=&?#+!$,;'@()*[]")
# skを追加
rawStr = encodedStr + sk
# Baiduインターフェースの呼び出しに使用されるsn値を計算します
# こちらの公式文書を参照してください
sn =(hashlib.md5(urllib.parse.quote_plus(rawStr).encode("utf8")).hexdigest())
# スプライシングURL
url = urllib.parse.quote("http://api.map.baidu.com"+ queryStr +"&sn="+ sn, safe="/:=&?#+!$,;'@()*[]")
# ターゲットリクエスト
req = urllib.request.urlopen(url)
# デコード
res = req.read().decode()
# jsonから辞書へ
temp = json.loads(res)
# 経度と緯度を抽出する
lng,lat=temp['result']['location']['lng'],temp['result']['location']['lat']
# csvファイルに書き込む
csv.writer(csv_obj).writerow([i,lng,lat])
# csvファイルを閉じる
csv_obj.close()
小規模な運用でも問題なく、その後の大規模なサンプルの計算を行います。
**Baidu Dad **はとても素敵です。そうでなければ、あなたは一つずつ失う必要があります
更新に関しては、現在、毎日の更新はできません。自由に更新することしかできません。
love&peace