2017-09-26 98 views
0
from bs4 import BeautifulSoup 
from selenium import webdriver 
import urllib2 
import time 

driver = webdriver.Chrome() 
driver.maximize_window() 
driver.get("https://www.zillow.com/homes/recently_sold/Culver-City-CA/house,condo,apartment_duplex,townhouse_type/20432063_zpid/51617_rid/12m_days/globalrelevanceex_sort/34.048605,-118.340178,33.963223,-118.47785_rect/12_zm/") 
time.sleep(3) 
driver.find_element_by_class_name("collapsible-header").click() 
soup = BeautifulSoup(driver.page_source) 
region = soup.find("div",{"id":"hdp-price-history"}) 
table = region.find('table',{'class':'zsg-content-component'}) 
print table 

我需要履带价格历史表,但结果始终是无beautifulsoup无法找到表class和id表

+0

你的问题没有太多的清晰。请更具体一些。例如,提及您正在使用哪种语言并添加所有可能的详细信息。 –

+0

没有

元素包含属性class =“zsg-content-component”和wesbite。你需要更清楚你正在寻找的东西。 – Ali

+0

我需要价格/税表历史记录表,但我无法按类或ID查找此表。 @Ali –

回答

0

这里是一个可以给你带来你试图得到结果的脚本。

from bs4 import BeautifulSoup 
from selenium import webdriver 
import time 

driver = webdriver.Chrome() 
driver.get("https://www.zillow.com/homes/recently_sold/Culver-City-CA/house,condo,apartment_duplex,townhouse_type/20432063_zpid/51617_rid/12m_days/globalrelevanceex_sort/34.048605,-118.340178,33.963223,-118.47785_rect/12_zm/") 
driver.find_element_by_class_name("collapsible-header").click() 
time.sleep(5) 
tree = BeautifulSoup(driver.page_source,"lxml") 
driver.quit() 
table_tag = tree.select("table.zsg-table")[0] 
tab_data = [[item.text for item in row_data.select("th,td")] 
       for row_data in table_tag.select("tr")] 

for data in tab_data: 
    print(' '.join(data)) 

部分结果:

Date Event Price Agents 
06/16/17 Sold $940,000-0.9% K. Miller, A. Masket 
06/14/17 Price change $949,000-1.0% 
05/08/17 Pending sale $959,000 
04/17/17 Price change $959,000+1.1% 
02/27/17 Pending sale $949,000 

如果它所服务的目的,不要忘记,以纪念这个作为你选择的答案。