2016-08-26 5 views
2

[問題]は、地図のマーカーをクリックした後に、その可能性のあるスクラップ(クロール)ツールチップですか?

私はセレンによるツールチップを活性化するためのマーカーにマウスの左クリックイベントを要求することはできません。

[私の意図] セレン(Pythonコード)

ダウムサービスのWebマップでこのWebサービスから地図マーカー上にツールチップウィンドウから(クロール)テキストをスクラップ

http://www.socar.kr/reserve#jeju

<map id="daum.maps.Marker.Area:13u" name="daum.maps.Marker.Area:13u"><area href="javascript:void(0)" alt="" shape="rect" coords="0,0,40,38" title="" style="-webkit-tap-highlight-color: transparent;"></map> 
 

 

 
<div class="tooltip myInfoWindow"><h4><a class="map_zone_name" href="#"><em class="map_zone_id" style="display:none;">2390</em><span title="제주대 후문주차장">제주대 후문주차장</span><span class="bg"></span></a></h4><p><a title="제주도 제주시 아라1동 368-60">제주도 제주시 아라1동 368-6...</a><br>운영차량 : 총 <em>4</em>대</p><p class="btn"><em class="map_zone_id" style="display:none;">2390</em><a class="btn_overlay_search" href="#"><img src="/template/asset/images/reservation/btn_able_socar.png" alt="예약가능 쏘카 보기"></a></p><a href="#" class="close"><img src="/template/asset/images/reservation/btn_layer_close.png" alt="닫기"></a></div>

PS:あなたはツールチップをクリックすると、それはGoogleマップのマーカーをツールチップウィンドウのテキストをクロールすることも可能である

https

答えて

1

、XHRリクエストはZONE_IDを使用してhttps://api.socar.kr/reserve/zone_infoに送信されますの場合は、ページのコンテンツを使用してゾーンを除外しなければならない場合がありますが、これ以上の時間を費やす時間はありませんが、リクエストを再作成します。

import requests 
from time import time, sleep 

# These params will be for https://api.socar.kr/reserve/oneway_zone_list 
# which we can get the zone_ids from. 
params = {"type": "start", "_": str(time())} 
# We use the zone_id from each dict we parse from the json receievd 
params2 = {"zone_id": ""} 

with requests.Session() as s: 
    s.get("http://www.socar.kr/reserve#jeju") 
    s.headers.update({ 
     "User-Agent": "Mozilla/5.0 (X11; Linux x86_64)"}) 
    r = s.get("https://api.socar.kr/reserve/oneway_zone_list", params=params) 
    result = r.json()["result"] 
    for d in result: 
     params2["zone_id"] = d["zone_id"] 
     params2["_"] = str(time()) 
     sleep(1) 
     r2 = s.get("https://api.socar.kr/reserve/zone_info", params=params2) 
     print(r2.json()) 

結果の各Dが辞書のようなものです:

{u'zone_lat': u'37.248859', u'zone_id': u'2902', u'zone_region1_short': u'\uacbd\uae30', u'zone_open_time': u'00:00:00', u'zone_region1': u'\uacbd\uae30\ub3c4', u'zone_close_time': u'23:59:59', u'zone_name': u'SK\ud558\uc774\ub2c9\uc2a4 \uc774\ucc9c', u'open_weekend': u'close', u'zone_region3': u'\ubd80\ubc1c\uc74d', u'zone_region2': u'\uc774\ucc9c\uc2dc', u'zone_lng': u'127.490639', u'zone_addr': u'\uacbd\uae30\ub3c4 \uc774\ucc9c\uc2dc \ubd80\ubc1c\uc74d \uc544\ubbf8\ub9ac 707'} 

ありますが、特定の場所でフィルタリングできるようになるという点で、おそらく他の情報、私は韓国語話せないので、私は完全にどのように従うことができませんデータは関連しています。そこにあるが、あなたはu'notice及びその他の情報の多くのもとhtmlタグを見ることができるすべてのことの

{u'retCode': u'1', u'retMsg': u'', u'result': {u'oper_way': u'\uc655\ubcf5', u'notice': u'<br>\u203b \ubc18\ub4dc\uc2dc \ubc29\ubb38\uc790 \uc8fc\ucc28\uc7a5 \uc9c0\uc815\uc8fc\ucc28\uad6c\uc5ed\uc5d0 \ubc18\ub0a9\ud574\uc8fc\uc138\uc694.<br>', u'notice_oneway': u'', u'zone_addr': u'\uacbd\uae30\ub3c4 \uc774\ucc9c\uc2dc \ubd80\ubc1c\uc74d \uc544\ubbf8\ub9ac 707', u'total_num': 2, u'able_num': 2, u'visit': u'\uc131\uc6b02\ub2e8\uc9c0 \uc544\ud30c\ud2b8 \uae30\uc900 \uc804\ubc29 \ud604\ub300\uc5d8\ub9ac\ubca0\uc774\ud130 \ubc29\uba74\uc73c\ub85c \ud6a1\ub2e8\ubcf4\ub3c4 \uc774\uc6a9 \ud6c4 \ud558\uc774\ub2c9\uc2a4 \uc774\ucc9c \ubc29\ubb38\uc790 \uc8fc\ucc28\uc7a5 \ub0b4 \uc3d8\uce74\uc804\uc6a9\uc8fc\ucc28\uad6c\uc5ed', u'zone_alias': u'\ud558\uc774\ub2c9\uc2a4 \ubc29\ubb38\uc790 \uc8fc\ucc28\uc7a5', u'zone_attr': u'[\uc774\ubca4\ud2b8]', u'state': True, u'link': u'http://blog.socar.kr/4074', u'oper_time': u'00:00~23:59', u'lat': u'37.248859', u'zone_name': u'SK\ud558\uc774\ub2c9\uc2a4 \uc774\ucc9c', u'lng': u'127.490639', u'zone_props': 0, u'visit_link': u'http://dmaps.kr/24ij6', u'zone_id': u'2902'}} 

再びわからない:

第二の要求は私たちのような辞書を提供します。

+0

私の貢献に感謝します。それは素晴らしいです。 – DSDS

関連する問題