爬取北京市安居客新房房价,使用 histogram 对房价/房租可视化
时间: 2024-01-11 19:03:04 浏览: 72
以下是爬取北京市安居客新房房价并使用histogram对房价进行可视化的Python代码:
```python
import requests
import json
import matplotlib as plt
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
url = 'https://bj.fang.anjuke.com/loupan/all/p1/'
prices = [] # 存储房价
for i in range(1, 11): # 爬取前10页数据
new_url = url + f'p{i}/'
res = requests.get(new_url, headers=headers)
res.encoding = 'utf-8'
html = res.text
data = html.split('<!-- 新房列表页 -->')[1].split('<!-- 列表 end -->')[0].strip()
json_data = json.loads(data)
items = json_data['items']
for item in items:
price = item['price']
if price != '' and price != '价格待定':
prices.append(float(price))
# 使用matplotlib创建histogram
plt.hist(prices, bins=30, color='steelblue', edgecolor='black')
plt.xlabel('Price')
plt.ylabel('Count')
plt.title('House Prices in Beijing')
plt.show()
```
这段代码会爬取北京市安居客前10页的新房数据,并将其中的房价存储到一个列表中。然后使用matplotlib的histogram函数创建直方图,将价格分为30个区间(bins=30),并设置颜色、边缘颜色、X轴标签、Y轴标签和标题等属性。最后调用show方法显示可视化结果。
阅读全文