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爬虫爬取武汉房价信息相关推荐

  1. 深圳python爬虫培训南山科技园钽电容回收_记一次python 爬虫爬取深圳租房信息的过程及遇到的问题...

    为了分析深圳市所有长租.短租公寓的信息,爬取了某租房公寓网站上深圳区域所有在租公寓信息,以下记录了爬取过程以及爬取过程中遇到的问题: 爬取代码: import requests from reques ...

  2. python解决租房问题_记一次python 爬虫爬取深圳租房信息的过程及遇到的问题

    为了分析深圳市所有长租.短租公寓的信息,爬取了某租房公寓网站上深圳区域所有在租公寓信息,以下记录了爬取过程以及爬取过程中遇到的问题: 爬取代码: import requests from reques ...

  3. python爬虫爬取豆瓣电影信息城市_Python爬虫入门 | 2 爬取豆瓣电影信息

    这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬 ...

  4. python爬虫爬取豆瓣电影信息城市_python爬虫,爬取豆瓣电影信息

    hhhhh开心,搞了一整天,查了不少python基础资料,终于完成了第一个最简单的爬虫:爬取了豆瓣top250电影的名字.评分.评分人数以及短评. 代码实现如下:#第一个最简单的爬虫 #爬取了豆瓣to ...

  5. 高温来袭?通过python爬虫爬取天气预警信息

    需求分析 最近一段时间,天气也是越来越热了,真正的进入了夏天了.可怕的故事是,现在才只有6月份呢,要是等到了7,8月份,不会是要更热吧? 一个小伙伴对此也深表赞同,"仙草哥哥,现在天气的温度 ...

  6. Python爬虫-爬取豆瓣出版社信息

    爬取豆瓣出版社信息 代码如下: # 爬取豆瓣出版社 import urllib.request import reurl = 'https://read.douban.com/provider/all ...

  7. 简单的python爬虫--爬取Taobao淘女郎信息

    最近在学Python的爬虫,顺便就练习了一下爬取淘宝上的淘女郎信息:手法简单,由于淘宝网站本上做了很多的防爬措施,应此效果不太好! 爬虫的入口:https://mm.taobao.com/json/r ...

  8. 用python爬虫爬取东方财富网信息网页信息_爬取东方财富网数据的网页分析

    自学Python已有3个月之多,浏览无数大神的佳作,收获颇丰.当初自学python就是为了学习爬虫,爬取网站上好看妹子的图片--[流口水][流口水] 言归正传,近期学习量化交易知识,发现东方财富网(e ...

  9. python爬虫招聘-Python爬虫-爬取招聘网站信息(一)

    学习内容,来源于百度搜索 工具及环境 1.python版本:python 3.7.3 2.安装工具:beautifulsoup 3.系统环境:Windows10 4.浏览器:chrome 网页分析 i ...

最新文章

  1. 齐次坐标的理解(1)
  2. 文件压缩和文件打包命令
  3. 数据结构--插入排序
  4. POJ 3080 Blue Jeans (多个字符串的最长公共序列,暴力比较)
  5. javafx css颜色_JavaFX技巧7:使用CSS颜色常量/派生颜色
  6. Django REST Framework——3. 序列化器(Serializer)
  7. java 僵尸进程_僵尸进程ZOMBIE
  8. IP地址-子网划分详解
  9. 学美容化妆培训学校到哪里最好
  10. 区块链和人工智能是否可以保护森林不再被砍伐?
  11. java lr0分析,LR0分析器实验报告.doc
  12. 联合投稿其乐融融 抖音共创助你大显身手
  13. 还款计划公式计算大全
  14. 给密码加盐是什么东西?
  15. 肖秀荣:2022考研政治大纲解读及复习建议
  16. 网易“四位一体”安全防御体系建设
  17. 统计视角下的Bias Variance Tradeoff 和它在KNN模型中的体现
  18. 中国雅虎推出雅虎统计服务
  19. 批处理入门手册之批处理常用DOS命令篇(md、rd、ren、move)
  20. springboot延时任务

热门文章

  1. CentOs7.9手动编译安装最新LNMP环境搭建
  2. #千锋逆战班,ssf# 在千锋“逆战”学习第 30天, 每个人生阶段都需要努力去扮好自己的角色,越努力越轻松,越坚强越幸运! 加油!本周心得及总结
  3. Nginx或Apache禁止某些IP段访问的两种方法
  4. 小白如何从零开始运营一个微信公众号?
  5. [AHK]用字符做按钮上的图标--windows 查看ttf字体
  6. 监控#某微博账号#指定期间内的粉丝数、累计被转发数、累计被评论数、累计被点赞数等的变化趋势。
  7. 解决红米 Note 4X root 后无法连接电脑问题
  8. Virtuoso工具基础讲解
  9. Linux中ss用法详解
  10. thinkphp mysql读写分离_ThinkPHP5分布式数据库读写分离