全国任意城市二手房价爬取(附源码)+分析教程

2024-02-25 00:50

本文主要是介绍全国任意城市二手房价爬取(附源码)+分析教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

不喜欢太多废话,直接上分析。
过程:
(第一步找总体)
在这里插入图片描述
第二步看单个:
在这里插入图片描述
在这里插入图片描述

(找规律)可遍历:
在这里插入图片描述

#coding=utf-8
"""
作者:川川
时间:2021/6/26
"""
from lxml import etree
import requestsif __name__ == '__main__':headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'}url = 'https://xa.58.com/ershoufang/?q=%E4%B8%8A%E6%B5%B7'page_text = requests.get(url=url,headers=headers).texttree = etree.HTML(page_text)div_list = tree.xpath('//section[@class="list"]/div')print(div_list)fp = open('./上海二手房.txt','w',encoding='utf-8')for div in div_list:title = div.xpath('.//div[@class="property-content-title"]/h3/text()')[0]print(title)price=str('总价格为'+div.xpath('.//div[@class="property-price"]/p/span[@class="property-price-total-num"]/text()')[0])+'万元'print(price)fp.write(title+'\t'+price+'\n'+'\n')

结果:
在这里插入图片描述
但是呢?这样会不会还是显得麻烦了呢?难不成每个城市都写一份这样的代码吗?不是的,请看如下分析:
上面这部分代码是爬取的上海的二手房价
然而网址却是这样的:
在这里插入图片描述
这样很容易想到,如果切换城市,仅仅只需要把上海换成别的城市就可以了。经过我分析,换个城市,网页结构并不用变化,所以唯一变动就是这个城市。
因此修改后代码:

#coding=utf-8
"""
作者:川川
时间:2021/5/10
"""
from lxml import etree
import requestsif __name__ == '__main__':headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'}c=input('这里是二手房价爬取,请输入你想要爬取的城市:\n')url = 'https://xa.58.com/ershoufang/?q=%s'%cpage_text = requests.get(url=url,headers=headers).texttree = etree.HTML(page_text)div_list = tree.xpath('//section[@class="list"]/div')print(div_list)fp = open('./上海二手房.txt','w',encoding='utf-8')for div in div_list:title = div.xpath('.//div[@class="property-content-title"]/h3/text()')[0]print(title)price=str('总价格为'+div.xpath('.//div[@class="property-price"]/p/span[@class="property-price-total-num"]/text()')[0])+'万元'print(price)fp.write(title+'\t'+price+'\n'+'\n')

效果如下:
想爬取哪个城市就输入哪个城市即可
在这里插入图片描述
b在这里插入图片描述
可是就算这样能爬取到每个城市的二手价,每次创建的文件名字没有变动啊,所以还得继续修改一点点,需要每次爬取就自动创建对应城市的文档,所以再次修改后如下:

#coding=utf-8
"""
作者:川川
时间:2021/5/10
"""
from lxml import etree
import requestsif __name__ == '__main__':headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'}c=input('这里是二手房价爬取,请输入你想要爬取的城市:\n')url = 'https://xa.58.com/ershoufang/?q=%s'%cpage_text = requests.get(url=url,headers=headers).texttree = etree.HTML(page_text)div_list = tree.xpath('//section[@class="list"]/div')print(div_list)wen=c+'二手房价.txt'fp = open(wen,'w',encoding='utf-8')for div in div_list:title = div.xpath('.//div[@class="property-content-title"]/h3/text()')[0]print(title)price=str('总价格为'+div.xpath('.//div[@class="property-price"]/p/span[@class="property-price-total-num"]/text()')[0])+'万元'print(price)fp.write(title+'\t'+price+'\n'+'\n')

在这里插入图片描述
在这里插入图片描述

现在就完成了。
爬完二手房价,我都感觉要哭穷了,这房也太贵了吧!!酸了啊!
(顺便打上自己的小小群:970353786,任何代码资料均个人创造与分享)
在这里插入图片描述

这篇关于全国任意城市二手房价爬取(附源码)+分析教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/743929

相关文章

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

Python虚拟环境终极(含PyCharm的使用教程)

《Python虚拟环境终极(含PyCharm的使用教程)》:本文主要介绍Python虚拟环境终极(含PyCharm的使用教程),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录一、为什么需要虚拟环境?二、虚拟环境创建方式对比三、命令行创建虚拟环境(venv)3.1 基础命令3

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java