我目前正在处理房地产数据,想从 StreetEasy 中抓取一些数据,即低于列出价格的
Register to see what it closed for about 2 months ago
。
示例网址 http://streeteasy.com/sale/1220187
我需要的数据需要登录,但登录机制有很大不同。没有登录页面,登录是弹出窗口。无论如何,我可以使用Python来获取身份验证并在登录后访问页面,如下图所示?
使用 Selenium 和 PhantomJS,您可以在抓取数据时获得强大的组合。
from selenium import webdriver
host = "http://streeteasy.com/sale/1220187"
driver = webdriver.PhantomJS()
# Set the "window" wide enough so PhantomJS can "see" the right panel
driver.set_window_size(1280, 800)
driver.get(host)
driver.find_element_by_link_text("Register to see what it closed for").click()
driver.save_screenshot("output.jpg")
您看到的是 Selenium 如何让您登录网页的一小段(通过 JPG 屏幕截图验证)。 从那里开始,只需切换登录框,提供凭据并
click()
进入即可。
哦,请注意服务条款。 祝你好运!