第一次刮板的一些微移
问题描述:
我试图以编程方式(在Python中)从this网站检索帐户信息以获取我拥有的属性列表(由BRT编号标识)。第一次刮板的一些微移
这应该是非常简单的,我已经阅读了一些我通过Google找到的东西,但是这完全在我的头上,因为我没有网页开发经验,所以所有的白话都是单耳退房手续最等。
的程序应该是很简单的,因为网页看起来很朴实无华:
- 设置
brt
,例如883309000
。 - 打开网址:
http://www.phila.gov/revenue/RealEstateTax/default.aspx
。 - 选择
by BRT Number
字段并输入brt
。 - 单击
>>
按钮检索属性信息。 -
刮底线(
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()
现在你应该采取结果页
这工作很好!我现在只是担心它会很慢,因为我需要这样做24,000次 – MichaelChirico
可能需要一段时间。也许在超低服务器时间(通宵)时运行脚本,也许在每次迭代之后几秒钟内出现随机延迟?祝你好运。 – par