【发布时间】:2017-05-31 22:42:15
【问题描述】:
我正在尝试使用 Beautiful Soup 从 Zillow 抓取房价数据。
我通过属性 id 获取网页,例如。 http://www.zillow.com/homes/for_sale/18429834_zpid/
当我尝试find_all() 函数时,我没有得到任何结果:
results = soup.find_all('div', attrs={"class":"home-summary-row"})
但是,如果我将 HTML 截取为我想要的部分,例如:
<html>
<body>
<div class=" status-icon-row for-sale-row home-summary-row">
</div>
<div class=" home-summary-row">
<span class=""> $1,342,144 </span>
</div>
</body>
</html>
我得到 2 个结果,都是 <div>s 和 home-summary-row 类。所以,我的问题是,为什么我在搜索整页时没有得到任何结果?
工作示例:
from bs4 import BeautifulSoup
import requests
zpid = "18429834"
url = "http://www.zillow.com/homes/" + zpid + "_zpid/"
response = requests.get(url)
html = response.content
#html = '<html><body><div class=" status-icon-row for-sale-row home-summary-row"></div><div class=" home-summary-row"><span class=""> $1,342,144 </span></div></body></html>'
soup = BeautifulSoup(html, "html5lib")
results = soup.find_all('div', attrs={"class":"home-summary-row"})
print(results)
【问题讨论】:
标签: python html web-scraping beautifulsoup