当前位置: 首页 > news >正文

地州电视网站建设流程大连网站建设选高合科技

地州电视网站建设流程,大连网站建设选高合科技,如何自己制作一款手游,wordpress新编辑器基于Python爬虫的房价可视化 项目提示项目说明功能特点环境要求参数说明代码 项目提示 本项目仅供学习交流使用,请勿用于非法用途。使用本项目所产生的一切法律后果由使用者自行承担。 项目说明 这是一个用于爬取多个租房网站信息并进行数据分析可视化的Python项…

基于Python爬虫的房价可视化

  • 项目提示
  • 项目说明
  • 功能特点
  • 环境要求
  • 参数说明
  • 代码

项目提示

本项目仅供学习交流使用,请勿用于非法用途。使用本项目所产生的一切法律后果由使用者自行承担。

项目说明

这是一个用于爬取多个租房网站信息并进行数据分析可视化的Python项目。目前支持以下网站:

  • 链家网
  • 贝壳找房
  • 58同城

功能特点

  • 支持多个租房网站数据爬取
  • 自动保存为CSV格式
  • 可合并多个来源的数据
  • 支持自定义爬取页数
  • 支持自定义城市
  • 提供数据可视化分析功能

环境要求

  • Python 3.7+
  • 依赖包:requests, beautifulsoup4, pandas, lxml, matplotlib, seaborn, numpy, jieba, wordcloud

参数说明

  • --pages: 每个网站爬取的页数,默认为3
  • --city: 城市代码,如sz表示深圳,默认为sz

代码

贝壳:

#!/usr/bin/env python
# -*- coding: utf-8 -*-import requests
from bs4 import BeautifulSoup
import pandas as pd
import time
import random
from datetime import datetimeclass BeikeRentalScraper:def __init__(self):self.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36','Accept-Language': 'zh-CN,zh;q=0.9',}self.base_url = 'https://sz.zu.ke.com/zufang/'  # 贝壳深圳租房self.data = []def get_page(self, url):"""获取页面内容"""try:response = requests.get(url, headers=self.headers)response.raise_for_status()return response.textexcept Exception as e:print(f"获取页面失败: {e}")return Nonedef parse_list_page(self, html):"""解析列表页面"""if not html:return []soup = BeautifulSoup(html, 'lxml')house_items = soup.select('.content__list--item')houses = []for item in house_items:try:# 跳过广告if item.get('class') and 'content__list--item--ad' in item.get('class'):continuetitle_elem = item.select_one('.content__list--item--title a')title = title_elem.text.strip()link = title_elem['href']if not link.startswith('http'):link = 'https://sz.zu.ke.com' + linkdesc = item.select_one('.content__list--item--des').text.strip().replace('\n', ' ')price_elem = item.select_one('.content__list--item-price')price = price_elem.select_one('em').text.strip() + '元/月' if price_elem else '价格未知'# 提取更多信息location = ''area = ''layout = ''desc_parts = desc.split()if len(desc_parts) >= 3:location = desc_parts[0]layout = desc_parts[1] if len(desc_parts) > 1 else ''area = desc_parts[2] if len(desc_parts) > 2 else ''houses.append({'标题': title,'链接': link,'位置': location,'户型': layout,'面积': area,'价格': price,'描述': desc})except Exception as e:print(f"解析房源信息失败: {e}")continuereturn housesdef scrape(self, pages=3):"""爬取指定页数的租房信息"""for page in range(1, pages + 1):print(f"正在爬取第 {page} 页...")url = f"{self.base_url}pg{page}/"html = self.get_page(url)houses = self.parse_list_page(html)self.data.extend(houses)# 添加随机延时,避免被封IPtime.sleep(random.uniform(2, 5))return self.datadef save_to_csv(self, filename=None):"""保存数据到CSV文件"""if not self.data:print("没有数据可保存")returnif filename is None:now = datetime.now().strftime("%Y%m%d_%H%M%S")filename = f"beike_rental_data_{now}.csv"df = pd.DataFrame(self.data)df.to_csv(filename, index=False, encoding='utf-8-sig')print(f"数据已保存到 {filename},共 {len(self.data)} 条记录")def main():print("开始爬取贝壳找房租房信息...")scraper = BeikeRentalScraper()scraper.scrape(pages=5)  # 默认爬取20页scraper.save_to_csv("beike_rental_data.csv")print("爬取完成!")if __name__ == "__main__":main() 

58同城:

#!/usr/bin/env python
# -*- coding: utf-8 -*-import requests
from bs4 import BeautifulSoup
import pandas as pd
import time
import random
import os
from datetime import datetimeclass RentalScraper:def __init__(self):self.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36','Accept-Language': 'zh-CN,zh;q=0.9',}self.base_url = 'https://sz.lianjia.com/zufang/'  # 以链家深圳租房为例self.data = []def get_page(self, url):"""获取页面内容"""try:response = requests.get(url, headers=self.headers)response.raise_for_status()return response.textexcept Exception as e:print(f"获取页面失败: {e}")return Nonedef parse_list_page(self, html):"""解析列表页面"""if not html:return []soup = BeautifulSoup(html, 'lxml')house_items = soup.select('.content__list .content__list--item')houses = []for item in house_items:try:title = item.select_one('.content__list--item--title a').text.strip()link = item.select_one('.content__list--item--title a')['href']if not link.startswith('http'):link = 'https://sz.lianjia.com' + linkdesc = item.select_one('.content__list--item--des').text.strip().replace('\n', ' ').replace(' ', '')price = item.select_one('.content__list--item-price').text.strip()houses.append({'标题': title,'链接': link,'描述': desc,'价格': price})except Exception as e:print(f"解析房源信息失败: {e}")continuereturn housesdef scrape(self, pages=3):"""爬取指定页数的租房信息"""for page in range(1, pages + 1):print(f"正在爬取第 {page} 页...")url = f"{self.base_url}pg{page}/"html = self.get_page(url)houses = self.parse_list_page(html)self.data.extend(houses)# 添加随机延时,避免被封IPtime.sleep(random.uniform(2, 5))return self.datadef save_to_csv(self, filename=None):"""保存数据到CSV文件"""if not self.data:print("没有数据可保存")returnif filename is None:now = datetime.now().strftime("%Y%m%d_%H%M%S")filename = f"rental_data_{now}.csv"df = pd.DataFrame(self.data)df.to_csv(filename, index=False, encoding='utf-8-sig')print(f"数据已保存到 {filename},共 {len(self.data)} 条记录")def main():print("开始爬取租房信息...")scraper = RentalScraper()scraper.scrape(pages=20)  # 默认爬取20页scraper.save_to_csv("rental_data.csv")print("爬取完成!")if __name__ == "__main__":main() 

58同城略(点击主页获取)
可视化分析:
在这里插入图片描述
可视化分析效果:
在这里插入图片描述
在这里插入图片描述

http://www.yayakq.cn/news/591495/

相关文章:

  • 未来做那些网站致富手机微网站怎么设计方案
  • 网站建设重庆wordpress怎么作模版
  • 减肥网站模板和凡科网一样的平台
  • 怎么做一个国外网站wordpress 视频解析
  • 长春电商网站建设公司电话重庆百姓网免费发布信息网
  • 可免费商用的cms建站系统摄影设备有哪些
  • 上海模板网站套餐wordpress匿名评论插件
  • 青岛网站制作企业一键安装 wordpress
  • 免费做试卷的网站或试卷中信建设有限责任公司股票代码
  • 网站制作学费多少钱给企业做网站 工作
  • php通用企业网站源码怎么访问域名网站
  • 做暧暧视频网站安全吗wordpress 引用来源
  • 手机设计免费软件合肥企业网站排名优化
  • 如何设计自己网站网站开发中制作视频播放器
  • 用什么语言做网站广东省白云区邮政编码
  • 企业网站源代码下载关键词全网搜索指数
  • 小型企业网站建设内容做外贸在哪个网站找客户
  • 网站建设公司 跨界鱼科技专业学生网站建设可行性分析
  • 关于建设工程资料的网站如何把本地网站
  • 企业网站建设方讯深圳企业公司做网站
  • 网站虚拟主机空间1g多吗健康网站建设与管理
  • 贵阳网站建设外包wordpress没有登录口
  • 企业网站开发模型图海南公司网站建设哪家快
  • 运用阿里云怎么做网站苏州的网络公司网站建设
  • 广西住建局官方网站网站开发 c
  • 网站 点击量个人网站论文摘要
  • html网页制作网站从零开始学习网站建设
  • 网站网站开发需要多少钱wordpress 页面连接
  • 广州建设网站企业wordpress支持空格键
  • 推广网站制作怎么做什么叫互联网