我試圖從Philly Police webpage的給定位置獲得警區。我有太多的地方需要手工完成,所以我正在嘗試使用Python的請求庫自動化這個過程。保存位置值網頁的形式如下:Python3請求庫提交表單,不允許發佈請求
<form id="search-form" method="post" action="districts/searchAddress">
<fieldset>
<div class="clearfix">
<label for="search-address-box"><span>Enter Your Street Address</span></label>
<div class="input">
<input tabindex="1" class="district-street-address-input" id="search-address-box" name="name" type="text" value="">
</div>
</div>
<div class="actions" style="float: left;">
<button tabindex="3" type="submit" class="btn btn-success">Search</button>
</div>
<a id="use-location" href="https://www.phillypolice.com/districts/index.html?_ID=7&_ClassName=DistrictsHomePage#" style="float: left; margin: 7px 0 0 12px;"><i class="icon-location-arrow"></i>Use Current Location</a>
<div id="current-location-display" style="display: none;"><p>Where I am right now.</p></div>
</fieldset>
</form>
然而,當我嘗試發佈或使用以下付諸網頁:
r = requests.post('http://www.phillypolice.com/districts',data={'search-address-box':'425 E. Roosevelt Blvd'})
我收到錯誤405,POST是不允許的。然後我關掉Javascript並試圖在網頁上找到該區域,當我點擊提交時,我收到了相同的405錯誤消息。因此,該表格絕對不會被提交,並且該區域是使用JavaScript來查找的。
有沒有一種方法來模擬'點擊'提交按鈕來使用請求庫觸發JavaScript?
不,這是不公平的不使用谷歌地理編碼api!好主意! – alecxe
@alecxe,我能說什麼,我喜歡免費的東西! –