0

ビデオビューでウェブカメラのビデオ応答を再生できるようにしたいのですが、「camurl」に対する Weather Underground からの json 応答は次のようになります。

http://www.wunderground.com/webcams/cadot1/902/show.html

再生する必要があるビデオの URL は、次のような URL で HTML コードに埋め込まれています。

https://www.wunderground.com/webcams/cadot1/1216/video.html?month=11&year=2016&filename=current.mp4

JSON応答「camurl」からそのURLを取得する方法はありますか? この用語「html スクレイピング」について聞いたことがありますが、json 応答の html ページから埋め込まれたビデオの URL を取得することは可能ですか?

これは、Web カメラに対する完全な json 応答のようです。

    {
    "handle": "mahouser",
    "camid": "mahouserCAM1",
    "camindex": "1",
    "assoc_station_id": "KCACAMAR18",
    "link": "http://",
    "linktext": "Michael Houser",
    "cameratype": "Foscam FI9900P",
    "organization": "",
    "neighborhood": "Camarillo Hills",
    "zip": "93010-12",
    "city": "CAMARILLO",
    "state": "CA",
    "country": "US",
    "tzname": "America/Los_Angeles",
    "lat": "34.24947357",
    "lon": "-119.03993988",
    "updated": "2016-11-10 20:57:24",
    "updated_epoch": "",
    "downloaded": "2016-11-08 20:38:48",
    "isrecent": "1",
    "CURRENTIMAGEURL": "http://icons.wunderground.com/webcamramdisk/m/a/mahouser/1/current.jpg?t=1478812080",
    "WIDGETCURRENTIMAGEURL": "http://icons.wunderground.com/webcamramdisk/m/a/mahouser/1/widget.jpg?t=1478812080",
    "CAMURL": "http://www.wunderground.com/webcams/mahouser/1/show.html"
}

jsoup を見てドキュメントを読みましたが、必要な URL を取得する方法がわかりません。html で URL がどのように見えるかを次に示します。

    <td class="day">
    <div class="row">
    <div class="small-2 medium-5 columns">
    <a href="/history/airport/KAJO/2016/11/15/DailyHistory.html" class="day-num">
    15
    </a>
    </div>
    <div class="small-10 medium-7 columns">
    <img src="//icons.wxug.com/i/c/v4/clear.svg" alt="Clear" class="right" />
    </div>
    </div>
    <div class="calThumb">
    <a href="http://icons.wunderground.com/webcamramdisk/c/a/cadot1/902/current.jpg?1479239986" rel="lightbox[webcam]" title="">
    <img src="http://icons.wunderground.com/webcamramdisk/c/a/cadot1/902/current-thumb.jpg?1479239986" width="100" height="75" alt="" title="Click to view the time-lapse video for this day." />
    </a>
    </div>
    <p><a href="video.html?month=11&year=2016&filename=current.mp4" class="videoText">View Video</a></p>
    </td>

HTMLコード内から「current.mp4」URLを取得するにはどうすればよいですか?

4

1 に答える 1

1

考えられる方法はたくさんありますが、ここでは簡単な解決策を示します。

  1. jsoup で html コードを取得します

    Document doc = Jsoup.connect("http://www.wunderground.com/webcams/cadot1/902/show.html").get();
    
  2. 次に、クラスvideoTextを持つすべての要素を取得します。

    Elements elements = doc.getElementsByClass("videoText");
    

    これにより、エントリのリストが表示されます。current.mp4 で終わるものを選択します。

  3. current.mp4 URL を取得するには:

    for (Element link : elements) {
        String linkHref = link.attr("href");
        // linkHref contains something like video.html?month=11&year=2016&filename=current.mp4
        // TODO check if linkHref ends with current.mp4
    }
    
于 2016-11-16T07:38:34.940 に答える