【问题标题】:Get House Price data获取房价数据
【发布时间】:2013-09-19 08:03:43
【问题描述】:

我正在尝试获取房价以及地址,并希望获取其他相关数据(卧室?)。到目前为止,我得到了以下内容。使用谷歌的元素检查我可以看到有一个元素,但是如果我搜索这个我不会得到地址。

有什么想法吗?

import requests
from bs4 import BeautifulSoup

query='http://www.realestate.com.au/buy/with-2-bedrooms-in-epping%2c+nsw+2121/list-1?maxBeds=2&source=refinements'
resp = requests.get(query)

soup = BeautifulSoup(resp.text)
ads=soup.findAll("div", {"id": "searchResultsTbl"})

【问题讨论】:

  • 为什么会有人投反对票?
  • 可能是因为您没有“如何获取地址和卧室”之类的具体问题。也可能是因为您提供的代码没有做任何具体的事情,也没有显示您尝试过的内容。

标签: python web-scraping beautifulsoup


【解决方案1】:

如果您需要获取地址,请使用:

import requests
from bs4 import BeautifulSoup

query='http://www.realestate.com.au/buy/with-2-bedrooms-in-epping%2c+nsw+2121/list-1?maxBeds=2&source=refinements'
resp = requests.get(query)

soup = BeautifulSoup(resp.text)
ads = soup.find("div", {"class": "vcard"})
print ads.h2.a.text

输出:

61 Mobbs Lane, Epping, NSW 2121

所有地址都使用这个:

soup = BeautifulSoup(resp.text)
ads = soup.findAll("div", {"class": "vcard"})
for ad in ads:
    print ad.h2.a.text

输出:

61 Mobbs Lane, Epping, NSW 2121
29/3-5 Kandy Avenue, Epping, NSW 2121
5/30 Cambridge Street, Epping, NSW 2121
...
101/239-243 Carlingford Rd, Carlingford, NSW...
65-69 Adderton Road, Telopea, NSW 2117

对于房间,你可以使用这样的东西:

rooms = soup.findAll("li", {"class":"first"})
for room in rooms:
    if room.span:
        print room.span.text

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-27
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多