【Python爬虫案例】全套爬虫案例+数据可视化项目汇总零基础入门全套爬虫案例-案例三

视频源自B站,讲解得非常好,感谢星越编程,B站视频网址如下:
https://www.bilibili.com/video/BV1zg411A731?p=4
Pycharm源选清华的,比较快

#author:lanqiao
#公众号:easycoder
#software:Pycharm
"""
文件说明:链家网二手房采集 + 可视化
目标网站:https://bj.lianjia.com/ershoufang/

分析思路:
    通过网址获取网页源码,从网页源码提取对应的房价以及小区名称,最终实现可视化

    思路拆解:
        第一步:通过网址建立链接获取源码
        第二部:源码解析提取出校区名称及校区价格
        第三步:将数据进行可视化展示
    知识点:
        1 Python的数据类型
            str String 字符串  ' ' " "
            float:小数

            数据类型的转换
            float(需要转换得数据),将对应得数据转换成小数

        2 Python中的列表 [元素1,元素2,元素3]

        3 循环操作
            for xxx自定义名称 in 容器
                具体执行的代码

        4 type函数:用于检测当前函数的类型

"""
#导入库
import requests # 简单的理解成可以和网络建立链接的库
from lxml import etree #网页文档解析库
import pandas as pd #给这个库重命名,这是一个数据处理得库,可以用于分析数据分析。
from pyecharts.charts import Bar #柱状图

#建立链接获取网页源码
#resp = requests.get("https://bj.lianjia.com/ershoufang/").text
resp = requests.get("https://bj.lianjia.com/ershoufang/").content.decode() #--->bytes 字节
#将代解析的数据加载进去
html = etree.HTML(resp)
#解析数据 .//div[info clear] 当前路径下面寻找所有的div,并且这个div上面有个class = "info clear" <div class="info clear">
div_list = html.xpath(".//div[@class = 'info clear']")
#设置一个空列表保存小区和小区房价
ershoufang = []

# 一次取出每一个div
for div in div_list:
    #获取每一个小区的名称和单价 //所有的,得到的是一个列表
    name = (div.xpath(".//div[@class = 'positionInfo']/a/text()")[0])
    #获取每一个小区房价的单价
    price = (div.xpath(".//div[@class = 'unitPrice']/span/text()")[0]).replace("元/平","").replace(",","")
    #处理字符串
    #price.replace("元/平","")
    #获取每一个小区房价,并处理数据
    #print("小区的名称是:%s小区的价格是:%s"%(name, price))
    #在列表中添加元素
    ershoufang.append([name, float(price)])
    #print(type((float)(price)))
print(ershoufang)
#定义列名
title = ['小区名称', '元/平']
#将数据保存到本地 -->将数据可视化展示 柱状图
#pandas 熊猫
#print(pd.DataFrame(ershoufang,columns = title))
table = pd.DataFrame(ershoufang,columns = title)
# 可视化
bar = Bar()
#设置横坐标与纵坐标
bar.add_xaxis(list(table["小区名称"]))
bar.add_yaxis("北京二手房价信息", list(table["元/平"]))
#写出html文件
bar.render("./北京二手房价.html")






  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值