
公众号:uncle39py
V1
2022/01/13阅读:36主题:默认主题
爬取福州二手房信息
爬取福州二手房信息,并作柱状图呈现
前言:
本篇用于复习requests、xpath的使用,并顺带了解下如何可视化呈现。仅作学习使用,不得用于其他非法用途。
爬虫写了6篇,可当字典查阅:
xpath
selenium
scrapy(1)
scrapy(2)
开始:
首先,我们明确爬取的url是链家福州的二手房信息
https://fz.lianjia.com/ershoufang/
,
如果是其他城市则改掉前面的fz即可,比如长沙就改成https://cs.lianjia.com/ershoufang/
# 发请求,拿回响应数据
res = requests.get('https://fz.lianjia.com/ershoufang/').text
第二,用xpath解析、提取想要的数据
html = etree.HTML(res)
# .表示当前标签下,这里代指整个网页,取属性class=""的div
divlist = html.xpath('.//div[@class="info clear"]')
house = []
for div in divlist:
# .表示当前标签下,这里代指每一个div
name = div.xpath('.//div[@class="positionInfo"]//a[1]/text()')[0]
# 替换掉单价中的逗号与单位,并将其转成float追加进列表
unit_price = div.xpath('.//div[@class="unitPrice"]/span/text()')[0].replace('元/平','').replace(',','')
house.append([name,float(unit_price)])
最后,将其可视化呈现
# pd:pandas,处理表格的库
title = ['小区名称','元/平'] # 表格标题
table = pd.DataFrame(house,columns=title)
# pyechart库中的柱状图类
bar = Bar()
bar.add_xaxis(list(table['小区名称'])) # 横坐标
bar.add_yaxis("福州二手房单价信息",list(table['元/平'])) # 柱状图标题、纵坐标
# 当前目录下输出html
bar.render('./福州二手房单价信息.html')
如需源码,关注公众号uncle39py并回复1
作者介绍

公众号:uncle39py
V1