2017-02-27 5 views
-1

私はPythonを使ってプロパティのマップ/イメージのスナップショットを削りたいと思っています。マップ/画像を取得するために必要なすべてのプロパティの郵便番号がありますが、郵便番号の取得、ウェブサイトの検索、マップのスナップショットの取得、保存の方法についてはわかりません。Pythonの "scraping" maps/images

私は当初、Seleniumを使用すると考えましたが、これがウェブサイトを検索する最も効率的な方法であるとは確信していませんでしたか?

誰かが私を正しい方向に向けることができたら、本当にうれしく思います!

+1

「URL」ページの例を共有できますか?期待される出力の説明で。既に試したことも表示してください – Andersson

+0

@Andersson、1例 - http://maps.environment-agency.gov.uk/wiyby/wiybyController?x=357683.0&y=355134.0&scale=1&layerGroups=default&ep=map&textonly=off&lang=_e&topic= floodmap - スクリーンショットを保存して、右上の「テキストのみのバージョン」からテキストの一部を抽出したいと思います。正直言って、私はまだこれについて何も試していない。これは私のレーダー上の次のプロジェクトです。私が出発する前にいくつかのアイデアを探るために飛び回っていました。私はかなりPythonに新しいと思う、これはリソースを見つけるのが最も難しいです! – Maverick

答えて

2

あなたはそうのようなGoogleのスタティックマップのAPIを使用することができます。

import requests 

zoom = '13' 
size = '600x300' 
maptype = 'roadmap' 

scheme = 'https://maps.googleapis.com/maps/api/staticmap?center=[Location]&zoom={0}&size={1}&maptype={2}'.format(zoom, size, maptype) 
locations = ['Brooklyn+Bridge,New+York,NY', '2550+SW+Hillsboro+Hwy,Hillsboro,OR', 'TX+78016'] # place, address, state+zip 

for loc in locations: 

    url = scheme.replace('[Location]', loc) 
    resp = requests.get(url) 

    print('Status code: {0} | {1}'.format(resp.status_code, url)) 

    if resp.status_code == 200: 

     with open('map_image_{0}.png'.format(loc), 'wb') as f: 

      f.write(resp.content) 
+0

ありがとうございます!アポロ2020! – Maverick

1

Scrapyは同様に良い選択かもしれません。 'プロジェクトを開始する'という初期設定がありますが、現在のところ最も安定したリリースはPython 2.7(Python 3のサポートが進行中です)です。

とScrapyファイルから画像を引き出すことができる方法を引用:https://doc.scrapy.org/en/1.3/index.html

「Scrapyは、特定のアイテムに添付されたファイルをダウンロードするための再利用可能なアイテムのパイプラインを提供します(ここではScrapyを試みることにご興味があれば

はドキュメントですこれらのパイプラインは機能と構造が少し分かれていますが(メディアパイプラインと呼んでいます)、通常はファイルパイプラインまたはイメージパイプラインのどちらかを使用します(たとえば、製品をスクラップしてローカルにイメージをダウンロードする場合など) "

私はScrapyも使い始めました。設定してSpider(Webクローラー)を作成し始めました。興味があればセットアップを手伝ってくれます。

+0

ありがとうございますpdel! – Maverick

関連する問題