2015-11-25 3 views
0

Я пытаюсь царапать эту страницу http://www.zillow.com/homes/for_rent/Jackson-County-MO/house,condo,apartment_duplex,mobile,townhouse_type/2295742_zpid/1804_rid/39.299236,-93.017121,38.770145,-95.697785_rect/8_zm/?3col=truebsObj держит не возвращается «None»

Я специально искал описание ту часть, которая начинается с «$ 200 от аренды за первый месяц»

Я попытался несколько различного meathods и обычно получаем None как мое возвращенное значение - иногда я получаю ошибку Codec, но это обычно, когда я пытаюсь использовать «класс»: «notranslate»

вот мой текущий код - я прокомментировал большинство из них, поэтому выход был легче читать.

# Import selenium webdriver. 
from selenium import webdriver 
from bs4 import BeautifulSoup 
import time 






def getData(url): 

    driver = webdriver.Firefox() 
    driver.get(url) 
    time.sleep(3) 
    pageSource = driver.page_source 
    bsObj = BeautifulSoup(pageSource) 




    # beds 
    #beds = bsObj.find("span", {"class":"addr_bbs"}) 
    #print(beds) 
    # baths 
    #baths = beds.find_next("span", {"class":"addr_bbs"}) 
    #print(baths) 
    # sqft 
    #sqft = baths.find_next("span", {"class":"addr_bbs"}) 
    #print(sqft) 
    # rent_amount 
    #rent_amount = bsObj.find("div", {"class":"main-row home-summary-row"}).span 
    #print(rent_amount) 
    # rent_zestiment 
    #rent_zestiment = bsObj.find("div", {"class":"home-summary-row"}).find("span") 
    #print(rent_zestiment) 
    # days_on_zillow 
    #days_on_zillow = bsObj.find("ul", {"class":"zsg-list_square zsg-lg-1-3 zsg-md-1-2 zsg-sm-1-1"}) 
    #print(days_on_zillow) 
    # subdivision 
    #subdivision = bsObj.find(id="hdp-neighborhood").h2 
    #print(subdivision) 
    # property_manager_name 
    #property_manager_name = bsObj.find("span", {"class":"snl company-name"}) 
    #print(property_manager_name) 
    # property_manager_phone 
    #property_manager_phone = bsObj.find("span", {"class":"snl phone"}) 
    #print(property_manager_phone) 
    # disc_of_property 
    disc_of_property = bsObj.find(id="yui_3_18_1_1_1448347444636_12522") 
    print(disc_of_property) 
    # url_of_imgages 
    # url_of_listing 

GetData ("http://www.zillow.com/homes/for_rent/Jackson-County-MO/house,condo,apartment_duplex,mobile,townhouse_type/2295742_zpid/1804_rid/39.299236,-93.017121,38.770145,-95.697785_rect/8_zm/?3col=true")

Я нуб так что любая помощь будет большим.

+0

Я бы помог, но у вас есть разрешение на это? – SIslam

+0

Вы имеете в виду 'print (soup.find ('div', {'class':" notranslate "}). Text)'? –

+0

yes print (bsObj.find ('div), {' class ': "notranslate"}). Text) не работает. Он возвращает UnicodeError 'charmap' кодек не может кодировать символ 'u2026' – Raymond

ответ

0

После всего лишь 13 часов игры с этим я наконец получил его.

disc_of_property =(bsObj.find('div', {'class': "notranslate"}).text) 
print(disc_of_property.encode("utf-8")) 

Как смущаю, что мне пришлось потратить на это много времени.