第一次刮板的一些微移

问题描述:

我试图以编程方式(在Python中)从this网站检索帐户信息以获取我拥有的属性列表(由BRT编号标识)。第一次刮板的一些微移

这应该是非常简单的,我已经阅读了一些我通过Google找到的东西,但是这完全在我的头上,因为我没有网页开发经验,所以所有的白话都是单耳退房手续最等。

的程序应该是很简单的,因为网页看起来很朴实无华:

  1. 设置brt,例如883309000
  2. 打开网址:http://www.phila.gov/revenue/RealEstateTax/default.aspx
  3. 选择by BRT Number字段并输入brt
  4. 单击>>按钮检索属性信息。
  5. 刮底线(TOTALS)和准确-迄今为止,在这种情况下:

    总计$ 13,359.83 $ 2,539.14 $ 1,417.73 $ 1,645.59 $ 18,962.29

06/30/2015

我主要停留在步骤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"}) 

但我真的失去了什么从那里做。任何帮助,将不胜感激。

你有没有考虑过使用python的selenium包。 此文档为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() 

现在你应该采取结果页

+0

这工作很好!我现在只是担心它会很慢,因为我需要这样做24,000次 – MichaelChirico

+1

可能需要一段时间。也许在超低服务器时间(通宵)时运行脚本,也许在每次迭代之后几秒钟内出现随机延迟?祝你好运。 – par