2016-01-10 35 views
1

我想從realtor.ca得到所有在2000年到2013年間建成的房屋的結果。高級搜索沒有這個功能,但我想看看是否可以添加URL中的搜索條件。從第三方網站獲取具體結果

我看着源代碼和值爲似乎是builtin_value。所以,我添加了&builtin_value=2000,2011,2012,2013到URL字符串,但這不起作用。

+0

嗨,羅恩,我不想粗魯,但這不是一個真正的編程問題,這是本網站的用途。我會關閉這個問題,只需使用realtor.ca上的聯繫我們表單「https://www.realtor.ca/Residential/ContactUs.aspx#」。 – entpnerd

+0

嗨喬納森,是的,我看到你的觀點,這可能不是一個編程問題。但是,我從編程的角度提出這個問題,因爲我正在編寫彙總此信息的程序。是的,我確實聯繫過這個網站,但不幸的是,他們在這個問題上不提供幫助。因此,我希望有人能在這裏弄清楚。 – Ron

+0

夠公平的。請參閱下面的答案。 – entpnerd

回答

1

經過對網站的網址結構進行了一點修改之後,我同意您不能將builtin_value參數添加到網址中,而且似乎沒有相應的參數。

這就是說,我認爲在這種情況下,Keywords文本框是你的朋友。我試着做一些樣本搜索,輸入作爲Keywords文本框的值,並且只收回2001年建成的房屋 - 與其他年份的實驗相同。您可以利用這樣一個事實,即沒有人會像2001年那樣輸入數字,除非它是在房屋建成年份的情況下。但是,例外情況是在2000年。輸入關鍵字回來了大量的結果,包括約2000平方英尺的每間房子。因此,如果你可以從你的項目經理或老闆那裏放鬆你的需求,那麼你只需要在2000年以外建立年,那麼我認爲你可以編寫一個相對簡單的程序,它只是每年執行一個請求(即for循環迭代2000年至2013年),以面值接受GET響應,並根據需要分頁數據,方法是遞增CurrentPage URL參數,直到您不再獲得任何結果。

如果你真的需要2000年,那麼你可以寫一個比我上面提出的更復雜的刮板。它必須GET每個搜索結果和審覈,這確實是建於2000年

例如,請考慮以下網址:

  1. 一種內置於1971年在溫哥華所有的房屋搜索:https://www.realtor.ca/Residential/Map.aspx#CultureId=1&ApplicationId=1&RecordsPerPage=9&MaximumResults=9&PropertySearchTypeId=1&TransactionTypeId=2&StoreyRange=0-0&BedRange=0-0&BathRange=0-0&Keywords=1971&LongitudeMin=-123.2340278625491&LongitudeMax=-122.85396957397488&LatitudeMin=49.21465057441378&LatitudeMax=49.34746245927539&SortOrder=A&SortBy=1&viewState=m&Longitude=-123.043998718262&Latitude=49.2811012268066&ZoomLevel=12&CurrentPage=1
  2. 爲建於2000年(大量的非相關結果)3頁在加拿大所有的房子一個搜索:https://www.realtor.ca/Residential/map.aspx#CultureId=1&ApplicationId=1&RecordsPerPage=9&MaximumResults=9&PropertySearchTypeId=1&TransactionTypeId=2&StoreyRange=0-0&BedRange=0-0&BathRange=0-0&Keywords=2000&LongitudeMin=-135.1318359375&LongitudeMax=-37.8369140625&LatitudeMin=44.707725934249424&LatitudeMax=70.92742296535133&SortOrder=A&SortBy=1&viewState=m&CurrentPage=3
  3. 用於建於2001年在加拿大所有的房屋搜索:https://www.realtor.ca/Residential/map.aspx#CultureId=1&ApplicationId=1&RecordsPerPage=9&MaximumResults=9&PropertySearchTypeId=1&TransactionTypeId=2&StoreyRange=0-0&BedRange=0-0&BathRange=0-0&Keywords=2001&LongitudeMin=176.220703125&LongitudeMax=10.810546875&LatitudeMin=4.483729141145389&LatitudeMax=72.9471586872288&SortOrder=A&SortBy=1&viewState=m&CurrentPage=2

我希望有幫助。

+0

感謝喬納森的幫助。這是我的計劃B,也許我必須去做。正如你所提到的那樣,它會包含一些誤差,這正是我試圖避免的,但它可能是除了申請它們的Api之外唯一的選擇。 – Ron

+0

雖然它確實包含一個誤差範圍,但是如果您深入並抓取房屋的詳細信息頁面,您可以通過仔細檢查搜索中的值來真正減小誤差範圍。當然,這需要更多的開發時間和執行時間。 – entpnerd