2016-11-11 56 views
0

我想從這個頁面湊結果頁面的表單:的Python webscraping使用Javascript功能來處理請求

http://data.philly.com/philly/property/

我使用254 W^Ashdale街作爲我進入試驗,當我這樣做在我的瀏覽器中,它指引我在HTML中尋找的結果(儘管如此)。

Python請求已成功將我放入結果頁面的地址放入,但我無法獲取所有者信息,這正是我試圖抓取的信息。我一直在嘗試使用Selenium和Phantomjs,我正在做的沒有任何工作。

我也對錶單動作感到困惑,它似乎只是與表單所在頁面的URL相同。

我感謝任何和所有的建議或幫助!

回答

0

硒幾乎處理所有的事情,只需找到元素,輸入信息,找到按鈕,點擊它,然後去找店主,點擊它並取消你需要的信息。

import selenium 
from selenium import webdriver 

driver = webdriver.Chrome() 
driver.get('http://data.philly.com/philly/property/') 

#enter the street address 
driver.find_element_by_name('LOC').send_keys('254 W Ashdale St') 
#click on the submit button 
driver.find_element_by_name('sendForm').click() 

#find the owner 
owner_tag = driver.find_elements_by_tag_name('td')[2] 
owner = driver.find_elements_by_tag_name('td')[2].text 
print(owner) 

#click on the owner 
owner_tag.find_element_by_tag_name('a').click() 

#get the table with the relevant info  
rows = driver.find_element_by_tag_name('tbody').find_elements_by_tag_name('tr') 

#get the row with the sale prices 
sale_prices = list() 
for row in rows: 
    sale_prices.append(row.find_elements_by_tag_name('td')[4].text) 

print('\n'.join(sale_prices)) 

輸出:

FIRSTNAME LASTNAME 
$123,600.00 
$346,100.00 
[..] 
$789,500.00