我對 HTML、Java 等并不陌生,但我上次編碼是幾年前的事了。
我有以下德國城市串列,我想通過以公里為單位的行駛距離過濾它們。我只想顯示距離我的“主要位置”不超過 75 公里或正好 75 公里的城市。我會手動完成,但這不是我必須過濾的唯一串列。
“Bad Eilsen、Buchholz、漢諾威、Hee?en、Luhden、Samtgemeinde Lindhorst、Beckedorf、Heuer?en、柏林、Lindhorst、Lüdersfeld、Samtgemeinde Nenndorf、Bad Nenndorf、Haste、Kassel、Hohnhorst、Suthfeld、Samtgemeinde Niedernw、Meltgemeinde Nordsehl、Pollhagen、Wiedensahl、Samtgemeinde Nienst?dt、Helpsen、Hespe、法蘭克福、Nienst?dt、弗萊堡、Seggebruch、波茨坦”
我考慮使用網站“www.luftlinie.org”作為我的過濾器。當我給它兩個位置時,它會在一個名為“值”的跨度內輸出以公里為單位的距離。我開始尋找 URL,我可以在插入城市名稱時使用它來獲取輸出。它是:"https://www.luftlinie.org/Hameln,Niedersachsen,DEU/" cityname ",Niedersachsen,DEU/"
我現在要做的挑戰:
- 將城市串列放入變數中。
- 使用 var 將它們放入過濾器 URL
- 檢查跨度“值”是否低于 75 公里或等于 75 公里。
- 如果是肯定的,在一個簡單的串列中顯示名稱,否則不顯示
回到那天,這對我來說不是問題,我使用了 php 和 javascript jquery,但今天真的很難理解,我嘗試過的所有腳本甚至都沒有顯示任何內容。這是我嘗試過的一個例子......
<script>
$.get('https://www.luftlinie.org/Hameln,Niedersachsen,DEU/berlin, niedersachsen').then(function (html) {
// Success response
var $mainbar = $(html).find('#rt');
document.write($mainbar.html());
}, function () {
// Error response
document.write('Access denied');
});
</script>
如果有人可以幫助我完成那部分會很棒,因為我已經花了半天時間...
uj5u.com熱心網友回復:
Will Jenkins 所說的大體上是正確的,但我查看了網站本身,右下角的“API”鏈接轉發到docs.distance.to/api。因此,與其完成手動抓取另一個網站的所有作業,為什么不使用底層 API?然后應該解決 CORS 問題,而且速度更快、效率更高。唯一的缺點是你需要在Rapid API上注冊,IIRC 他們有一個非常慷慨的免費套餐。祝你好運!
uj5u.com熱心網友回復:
您不能get使用像 jQuery 這樣的客戶端代碼跨域網頁 - 瀏覽器不會允許它(有關同源策略的一些背景資訊,請參見此處)。您要么必須使用 Node 或 Java 等服務器端解決方案,要么通過 API 訪問您想要的資料。
看起來他們在這里提供了一個可能適合您需求的 API。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/363923.html
標籤:javascript php 查询 网页抓取 筛选
