我正在尝试从此页面中删除生成的页面:
http://data.philly.com/philly/property/
我正在使用254 W Ashdale St作为我的试用条目,当我在浏览器中执行此操作时,它会指示我在HTML中寻找的结果(尽管相同的URL)。
Python请求成功地将我输入的地址放在结果页面中,但是我无法获取所有者信息,这正是我想要抓取的。我一直在尝试使用Selenium和phantomjs,我所做的一切都在起作用。
我也对表单操作感到困惑,它似乎与表单所在页面的URL相同。
我感谢任何建议或帮助!
答案 0 :(得分:0)
Selenium几乎可以处理所有事情,只需查找元素,输入信息,找到按钮,点击它,然后转到所有者,点击它并获取您需要的信息。
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