当前位置:   article > 正文

Python实现采集某二手房源数据并做数据可视化展示_如何将爬取二手房csv数据做成可视化

如何将爬取二手房csv数据做成可视化

环境介绍:

  • Python 3.8
  • Pycharm

模块使用:

  • requests >>> pip install requests 数据请求模块

  • parsel >>> pip install parsel 数据解析模块

  • csv 内置模块

实现爬虫思路:

  1. 明确需求<采集目标网站、需要的数据有哪些>

  2. 发送请求, 对应分析得到url

  3. 获取数据, 网页源代码 <比较多, 比较杂乱>

  4. 解析数据, 提取我们想要的数据内容 <精简之后, 想要的数据>

  5. 保存数据, 保存表格文件

更多python资料、源码、教程皆可点击文章下方名片获取此处跳转

在这里插入图片描述

代码

  1. 导入数据请求模块
pip install requests
import requests
  • 1
  • 2
  1. 导入数据解析模块
pip install parsel
import parsel
  • 1
  • 2
  1. 导入csv
import csv
  • 1
f = open('data100.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=[
    '标题',
    '小区名字',
    '地段',
    '总价',
    '单价',
    '户型',
    '面积',
    '朝向',
    '装修',
    '楼层',
    '架构',
    '时间',
    '详情页',
])
csv_writer.writeheader()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

发送请求, 模拟浏览器对url<网址/链接>, 发送请求 <完成>
1. 链接
2. 模拟浏览器
3. 发送请求

for page in range(1, 101):
    print(f'正在采集第{page}页的数据内容')
  • 1
  • 2
 response = requests.get(url=url, headers=headers)
    # <Response [200]> 请求成功
    print(response)
    html_data = response.text```

  • 1
  • 2
  • 3
  • 4
  • 5
selector = parsel.Selector(html_data)
# 把所有房源数据标签获取下来
lis = selector.css('.sellListContent li .info')
# 把所有房源数据, 一个一个提取出来
for li in lis:
    # 提取标题
    title = li.css('.title a::text').get()
    # 提取小区和地段
    area_info = li.css('.positionInfo a::text').getall()
    """
    list index out of range 
        area_info[0] --> 
        area_info 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  area_1 = area_info[0]  # 小区名字
        area_2 = area_info[1]  # 地段
        Price = li.css('.totalPrice span::text').get()  # 总价
        unitPrice = li.css('.unitPrice span::text').get()  # 单价
        houseInfo = li.css('.houseInfo::text').get()  # 信息

        if len(houseInfo.split(' | ')) == 7:
            date = houseInfo.split(' | ')[5]  # 时间
        else:
            date = ''

        house_type = houseInfo.split(' | ')[0]  # 户型
        house_area = houseInfo.split(' | ')[1]  # 面积
        face = houseInfo.split(' | ')[2]  # 朝向
        renovation = houseInfo.split(' | ')[3]  # 装修
        fool = houseInfo.split(' | ')[4]  # 楼层
        framework = houseInfo.split(' | ')[-1]  # 架构
        link = li.css('.title a::attr(href)').get()  # 详情页
        dit = {
            '标题': title,
            '小区名字': area_1,
            '地段': area_2,
            '总价': Price,
            '单价': unitPrice,
            '户型': house_type,
            '面积': house_area,
            '朝向': face,
            '装修': renovation,
            '楼层': fool,
            '架构': framework,
            '时间': date,
            '详情页': link,
        }
        csv_writer.writerow(dit)
        print(dit)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

最后,宣传一下呀~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/213752
推荐阅读
相关标签