python房价数据分析,python房价预测代码
这篇文章主要为大家介绍了如何利用计算机编程语言获取房价信息(以北京为例),整个数据获取的信息是通过房源平台获取的,通过下载网页元素并进行数据提取分析完成整个过程,需要的可以参考一下
整个数据获取的信息是通过房源平台获取的,通过下载网页元素并进行数据提取分析完成整个过程
导入相关的网页下载、数据解析、数据处理库
从fake_useragent导入用户代理#身份信息生成库
从bs4导入BeautifulSoup #网页元素解析库
将数组作为np #导入科学计算库
导入请求#网页下载库
从请求.异常导入请求异常#网络请求异常库
将熊猫作为pd #导入数据处理库
然后,在开始之前初始化一个身份信息生成的对象,用于后面随机生成网页下载时的身份信息。
user_agent=UserAgent()
编写一个网页下载函数get_html_txt,从相应的全球资源定位器(统一资源定位器)地址下载网页的超文本标记语言文本。
def get_html_txt(网址,页面_索引):
获取网页超文本标记语言文本信息
:param url:爬取地址
:param page_index:当前页数
:返回:
尝试:
标题={
用户代理:用户代理.随机
}
response=requests.request(GET ,url,headers=headers,timeout=10)
html_txt=response.text
返回html_txt
除了请求异常作为e:
打印(获取第{0}页网页元素失败!。格式(page_index))
返回""
编写网页元素处理函数catch_html_data,用于解析网页元素,并将解析后的数据元素保存到战斗支援车文件中。
def catch_html_data(url,page_index):
处理网页元素数据
:param url:爬虫地址
:param page_index:
:返回:
# 下载网页元素
html_txt=str(get_html_txt(url,page_index))
if html_txt.strip()!=:
# 初始化网页元素对象
美汤=美汤(html _ txt, lxml )
# 解析房源列表
h_list=beautifulSoup.select( .resblock-list-wrapper li )
# 遍历当前房源的详细信息
对于范围内的n(len(h _ list)):
h _详细信息=h _列表
# 提取房源名称
h_detail_name=h_detail.select( .RES块-名称a . name’)
h _ detail _ name=[m . get _ text()for m in h _ detail _ name]
h_detail_name=" .join(map(str,h_detail_name))
# 提取房源类型
h_detail_type=h_detail.select( .RES块-名称跨度。RES块-类型’)
h _ detail _ type=[m . get _ text()for m in h _ detail _ type]
h_detail_type=" " .join(map(str,h_detail_type))
# 提取房源销售状态
详细信息状态=详细信息。选择(.RES块-名称跨度。销售状态’)
h _ detail _ status=[m . get _ text()for m in h _ detail _ status]
h_detail_status= .join(map(str,h_detail_status))
# 提取房源单价信息
h_detail_price=h_detail.select( .RES block-价格.主要价格。数字)
h _ detail _ price=[m . get _ text()for m in h _ detail _ price]
h_detail_price= .join(map(str,h_detail_price))
# 提取房源总价信息
h _ detail _ total _ price=h _ detail。选择(.RES block-价格.第二)
h _ detail _ total _ price=[m . get _ text()for m in h _ detail _ total _ price]
h_detail_total_price= .join(map(str,h_detail_total_price))
h_info=[h_detail_name,h_detail_type,h_detail_status,h_detail_price,h_detail_total_price]
h_info=np.array(h_info)
h _ info=h _ info形状(-1,5)
h_info=pd .DataFrame(h_info,columns=[房源名称, 房源类型, 房源状态, 房源均价, 房源总价])
h_info.to_csv(北京房源信息. csv ,mode=a ,index=False,header=False)
打印(第{0}页房源信息数据存储成功!。格式(page_index))
else:
打印(网页元素解析失败!)
编写多线程处理函数,初始化网络网页下载地址,并使用多线程启动调用业务处理函数catch_html_data,启动线程完成整个业务流程。
导入线程#导入线程处理模块
def thread_catch():
线程处理函数
:返回:
对于范围(1,50,3):内的数字
URL _ pre= https://bj . Fang . lianjia.com/Lou pan/pg { 0 }/格式(字符串(数字))
https://bj . Fang . lianjia.com/Lou pan/pg { 0 }/ .格式(字符串(数字1))
https://bj . Fang . lianjia.com/Lou pan/pg { 0 }/ .格式(字符串(数字2))
线程_前=线程Thread(target=catch_html_data,args=(url_pre,num))
thread_cur=线程Thread(target=catch_html_data,args=(url_cur,num 1))
thread_aft=线程Thread(target=catch_html_data,args=(url_aft,num 2))
thread_pre.start()
线程_当前。开始()
thread_aft.start()
thread_catch()
数据存储结果展示效果
以上就是基于计算机编程语言实现最新房价信息的获取的详细内容,更多关于计算机编程语言获取房价信息的资料请关注盛行信息技术软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。