公众号:uncle39py

V1

2022/01/13阅读:36主题:默认主题

爬取福州二手房信息

爬取福州二手房信息,并作柱状图呈现

前言:

本篇用于复习requests、xpath的使用,并顺带了解下如何可视化呈现。仅作学习使用,不得用于其他非法用途。

爬虫写了6篇,可当字典查阅:

requests

beautifulsoup

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