python爬虫爬取武汉房价信息
Python有一个大作业,老师说想不到的可以试试爬武汉房价,反正想不到,那就爬一下喽。
我爬了网上武汉的房价信息,有帮助的可以看看下。
有一些小Bug,但是大体还是不打紧的,可以用。
#Time : 2022-11-11
#Actor: WangDengtao
#Contents: The main solution is web crawler and visual displayimport requests
import bs4
import pandas as pd
import numpy as np
import time
import matplotlib.pyplot as plt
import xlwt#解决乱码问题,显示中文标签
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False#获取价格函数
def get_price(html):price_buf = []soup = bs4.BeautifulSoup(html.content, 'html.parser')for div in soup.find_all(attrs={'class':'nhouse_price'}):price = div.span.string#将待定的元素改为0if price == '价格待定':price = int(0)price = int(price)price_buf.append(price)return price_buf#获取地点函数
def get_addr(html):addr_buf = []soup = bs4.BeautifulSoup(html.content, 'html.parser')for div in soup.find_all(attrs={'class':'nlc_details'}):addr_f = div.a.string#去除‘\n’'\t',获取地址addr_a = list(addr_f)addr_b = addr_a[12:-7]#print (addr_b)#合并列表中的各元素组成地名addr = ''.join(addr_b)addr_buf.append(addr)return addr_buf#保存数据到EXCEL函数
def save_excel(all_price, all_addr):# 创建工作workbookworkbook = xlwt.Workbook()# 创建工作表worksheet,填入表名worksheet = workbook.add_sheet('Wuhan_House_Price_Table')# 在表中写入相应的数据worksheet.write(0, 0, '地点')worksheet.write(0, 1, '价格')for i in range(len(all_price)):worksheet.write(1+i, 0, all_addr[i])worksheet.write(1+i, 1, all_price[i])# 保存表workbook.save('F:\course\python\science\Wuhan_housing_price_Trend.xls')print('数据存入EXCEL成功!')def picture1(all_price, all_addr):# 创建数据df = pd.DataFrame({'x_axis': all_addr, 'y_axis': all_price})#设置标题plt.title("Wuhan housing price Trend", fontsize=24)#X轴Y轴添加标签plt.xlabel("Address(Wuhan)", fontsize=14)plt.ylabel("Price(元/m3)", fontsize=14)#设置每个坐标轴的取值范围(min,max)plt.ylim(0,60000)#横坐标标签竖着显示plt.xticks(rotation = -90,size = 5)#设置刻度标记的大小,设置刻度的样式plt.tick_params(axis='both', labelsize=10)#plt.tick_params(labelsize=13) #刻度字体大小13#设置位置,方便看的plt.subplots_adjust(left=0.095, bottom=0.3, right=0.96, top=0.93)# 绘制显示plt.plot('x_axis', 'y_axis', data=df, linestyle='-', marker='o',color='b')plt.show()def picture2(all_price, all_addr):x_data = all_addr;y_data = all_price;# 画图,plt.bar()可以画柱状图for i in range(len(x_data)):plt.bar(x_data[i], y_data[i])# 设置x轴标签名plt.xlabel("地点")#设置刻度标记的大小,设置刻度的样式plt.xticks(rotation = -90,size = 10)#设置位置,方便看的plt.subplots_adjust(left=0.05, bottom=0.297, right=0.962, top=0.95)# 设置y轴标签名plt.ylabel("价格")# 显示plt.show()#主函数开始
url = ("https://wuhan.newhouse.fang.com/house/s/b9")
all_price = []
all_addr = []for i in range(1,5):html = requests.get(url + str(i) + '/')html.raise_for_status()html.encoding = 'utf-8'page_price = get_price(html)all_price.extend(page_price)page_addr = get_addr(html)all_addr.extend(page_addr)#time.sleep(1)print("第{}页处理完成".format(i))print("网页采集完成,开始写入文件,生成可视化图表")#保存数据
save_excel(all_price, all_addr)#显示图1
picture1(all_price, all_addr)#显示图2
picture2(all_price, all_addr)
都有备注,看不懂的问就可。
python爬虫爬取武汉房价信息相关推荐
- 深圳python爬虫培训南山科技园钽电容回收_记一次python 爬虫爬取深圳租房信息的过程及遇到的问题...
为了分析深圳市所有长租.短租公寓的信息,爬取了某租房公寓网站上深圳区域所有在租公寓信息,以下记录了爬取过程以及爬取过程中遇到的问题: 爬取代码: import requests from reques ...
- python解决租房问题_记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
为了分析深圳市所有长租.短租公寓的信息,爬取了某租房公寓网站上深圳区域所有在租公寓信息,以下记录了爬取过程以及爬取过程中遇到的问题: 爬取代码: import requests from reques ...
- python爬虫爬取豆瓣电影信息城市_Python爬虫入门 | 2 爬取豆瓣电影信息
这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬 ...
- python爬虫爬取豆瓣电影信息城市_python爬虫,爬取豆瓣电影信息
hhhhh开心,搞了一整天,查了不少python基础资料,终于完成了第一个最简单的爬虫:爬取了豆瓣top250电影的名字.评分.评分人数以及短评. 代码实现如下:#第一个最简单的爬虫 #爬取了豆瓣to ...
- 高温来袭?通过python爬虫爬取天气预警信息
需求分析 最近一段时间,天气也是越来越热了,真正的进入了夏天了.可怕的故事是,现在才只有6月份呢,要是等到了7,8月份,不会是要更热吧? 一个小伙伴对此也深表赞同,"仙草哥哥,现在天气的温度 ...
- Python爬虫-爬取豆瓣出版社信息
爬取豆瓣出版社信息 代码如下: # 爬取豆瓣出版社 import urllib.request import reurl = 'https://read.douban.com/provider/all ...
- 简单的python爬虫--爬取Taobao淘女郎信息
最近在学Python的爬虫,顺便就练习了一下爬取淘宝上的淘女郎信息:手法简单,由于淘宝网站本上做了很多的防爬措施,应此效果不太好! 爬虫的入口:https://mm.taobao.com/json/r ...
- 用python爬虫爬取东方财富网信息网页信息_爬取东方财富网数据的网页分析
自学Python已有3个月之多,浏览无数大神的佳作,收获颇丰.当初自学python就是为了学习爬虫,爬取网站上好看妹子的图片--[流口水][流口水] 言归正传,近期学习量化交易知识,发现东方财富网(e ...
- python爬虫招聘-Python爬虫-爬取招聘网站信息(一)
学习内容,来源于百度搜索 工具及环境 1.python版本:python 3.7.3 2.安装工具:beautifulsoup 3.系统环境:Windows10 4.浏览器:chrome 网页分析 i ...
最新文章
- 齐次坐标的理解(1)
- 文件压缩和文件打包命令
- 数据结构--插入排序
- POJ 3080 Blue Jeans (多个字符串的最长公共序列,暴力比较)
- javafx css颜色_JavaFX技巧7:使用CSS颜色常量/派生颜色
- Django REST Framework——3. 序列化器(Serializer)
- java 僵尸进程_僵尸进程ZOMBIE
- IP地址-子网划分详解
- 学美容化妆培训学校到哪里最好
- 区块链和人工智能是否可以保护森林不再被砍伐?
- java lr0分析,LR0分析器实验报告.doc
- 联合投稿其乐融融 抖音共创助你大显身手
- 还款计划公式计算大全
- 给密码加盐是什么东西?
- 肖秀荣:2022考研政治大纲解读及复习建议
- 网易“四位一体”安全防御体系建设
- 统计视角下的Bias Variance Tradeoff 和它在KNN模型中的体现
- 中国雅虎推出雅虎统计服务
- 批处理入门手册之批处理常用DOS命令篇(md、rd、ren、move)
- springboot延时任务
热门文章
- CentOs7.9手动编译安装最新LNMP环境搭建
- #千锋逆战班,ssf# 在千锋“逆战”学习第 30天, 每个人生阶段都需要努力去扮好自己的角色,越努力越轻松,越坚强越幸运! 加油!本周心得及总结
- Nginx或Apache禁止某些IP段访问的两种方法
- 小白如何从零开始运营一个微信公众号?
- [AHK]用字符做按钮上的图标--windows 查看ttf字体
- 监控#某微博账号#指定期间内的粉丝数、累计被转发数、累计被评论数、累计被点赞数等的变化趋势。
- 解决红米 Note 4X root 后无法连接电脑问题
- Virtuoso工具基础讲解
- Linux中ss用法详解
- thinkphp mysql读写分离_ThinkPHP5分布式数据库读写分离