我尝试以编程方式(在Python中)从this网站检索帐户信息,以获取我拥有的属性列表(由BRT编号标识)。
这应该非常简单,而且我已经阅读了一些我通过Google找到的东西,但由于我没有网络开发经验,所以这一切都在我脑海中。所有的白话都是一对一的。
程序应该非常简单,因为网页似乎非常简单:
brt
,例如883309000
。http://www.phila.gov/revenue/RealEstateTax/default.aspx
。by BRT Number
字段,然后输入brt
。>>
按钮以检索属性信息。截取底线(TOTALS
)和准确日期,在这种情况下:
TOTALS $ 13,359.83 $ 2,539.14 $ 1,417.73 $ 1,645.59 $ 18,962.29
和
2015年6月30日
我主要坚持第3步和第4步。我已经做到了:
import mechanize
from bs4 import BeautifulSoup
br = mechanize.Browser()
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36')]
br.open('http://www.phila.gov/revenue/RealEstateTax/default.aspx')
soup = BeautifulSoup(br.response().read())
#Here's the BRT Number field
soup.find("input",{"id":"ctl00_BodyContentPlaceHolder_SearchByBRTControl_txtTaxInfo"})
#Here's the "Lookup by BRT" button
soup.find("input",{"id":"ctl00_BodyContentPlaceHolder_SearchByBRTControl_btnTaxByBRT"})
但我真的迷失了从那里做的事情。任何帮助将不胜感激。
答案 0 :(得分:1)
您是否考虑过使用selenium包进行python。 这方面的文档是here,我强烈建议您阅读本文,运行一些基本测试来检查您的理解并在开始之前再次浏览它。
Selenium的意思是像在浏览器中一样加载页面并执行命令(可以使用python代码自动执行)。
首先导入selenim:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
然后启动webdriver并加载页面,'断言'将检查该页面是否有"收入部门"在继续之前的标题中。
driver = webdriver.Firefox()
driver.get("http://www.phila.gov/revenue/RealEstateTax/default.aspx")
assert "Revenue Department" in driver.title
接下来我们需要选择BRT输入框并发送密钥brt
driver.find_element_by_id("ctl00_BodyContentPlaceHolder_SearchByBRTControl_txtTaxInfo").send_keys(brt)
最后我们需要推动>>按钮
driver.find_element_by_id("ctl00_BodyContentPlaceHolder_SearchByBRTControl_btnTaxByBRT").click()
现在你应该进入结果页面