python高德地图+58租房网站平台源码

news2024/11/19 10:21:34

wx供重浩:创享日记
对话框发送:python地图
免费获取完整源码源文件+说明文档+配置教程等


在PyCharm中运行《高德地图+58租房》即可进入如图1所示的高德地图网页。

在这里插入图片描述
具体的操作步骤如下:
(1)打开地图网页后,在编辑框中输入工作地点,将显示自动补全的信息提示,如图2所示。

在这里插入图片描述
(2)工作地点选择完成以后,将在地图中显示1小时内可以到达的范围,如图3所示。

在这里插入图片描述
(3)单击选择文件按钮导入房源信息文件,如图4所示。

在这里插入图片描述
(4)房源文件导入后,网页中的地图将自动显示房源位置的标记,如图5所示。

在这里插入图片描述
(5)单击任意房源位置的标记,地图将显示起点至终点的路线规划图,然后地图左侧将显示路线规划具体的信息。如图6所示。

在这里插入图片描述
(6)单击标记顶部的房源名称,将打开该房源相关信息的网页地址如图7所示。

在这里插入图片描述
部分源码如下,其余完整详见下载。

def get_html():
    # 网址
    url = 'https://bj.58.com/wangjing/pinpaigongyu/pn/{page}/?minprice=2000_3000'
    # 初始化页码
    page = 0
    # 打开re.csv文件,如果没有就创建一个,并设置写入模式
    csv_file = open('renting.csv', 'w', encoding='utf_8_sig', newline='')
    # 创建writer对象
    writer = csv.writer(csv_file, dialect='excel')
    # 循环所有页面
    while True:
        page += 1
        # 抓取目标页面
        response = requests.get(url.format(page=page))
        response.encoding = 'utf-8'  # 设置编码方式
        # 创建一个BeautifulSoup对象,获取页面正文
        html = BeautifulSoup(response.text, "html.parser")
        # 获取当前页面的房子信息
        house_list = html.select(".list > li")
        print('正在下载网页', url.format(page=page))
        page_a_list = html.find('div',class_='page')   # 查看页面中是否有切换页面的按钮
        if page_a_list !=None:                        # 判断存在切换页面的按钮时
            page_a_list=page_a_list.select('span')     # 查找关于按钮名称的代码
            str_page = str(page_a_list)                # 将代码转换成字符类型
            if '<span>下一页</span>' in str_page:     # 判断当前页面是否有“下一页按钮”
                write_file(house_list,writer)         # 如果有就写入数据并继续循环下一页
            else:                                    # 否则就写入当前页面的数据,跳出循环
                write_file(house_list,writer)
                # 关闭文件
                csv_file.close()
                break
        else:                                        # 当前页面没有切换按钮时,写入当前页面数据,跳出循环
            write_file(house_list, writer)
            # 关闭文件
            csv_file.close()
            break

def write_file(house_list,writer):
        # 便利房子信息
        for house in house_list:
            if house != None:
                # 获取房子标题
                house_title = house.find('div', class_='img').img.get('alt')
                # 对标题进行分隔
                house_info_list = house_title.split()
                # 获取房子位置
                house_location = house_info_list[1]
                # 获取房子链接地址
                house_url = house.select("a")[0]["href"]
                # 写入一行数据
                writer.writerow([house_title, house_location, house_url])

get_html()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/388532.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

xgboost:防止过拟合的方法收缩和特征列、采样

xgboost除了第2.1节中提到的正则化目标之外&#xff0c;还使用了另外两种技术来进一步防止过拟合1。 目录shrinkage[^1]Column Subsampling[^2]shrinkage2 第一种技术是由弗里德曼提出的收缩。在树提升的每一步之后&#xff0c;收缩率以η因子的比例缩放新添加的权重。与随机优…

Scrapy框架(高效爬虫)

文章目录一、环境配置二、创建项目三、scrapy数据解析四、基于终端指令的持久化存储1、基于终端指令2、基于管道3、数据同时保存至本地及数据库4、基于spider爬取某网站各页面数据5、爬取本页和详情页信息&#xff08;请求传参&#xff09;6、图片数据爬取ImagesPipeline五、中…

IP欺骗种类有哪些?

每台计算机都有一个IP地址&#xff0c;发送的任何数据都被分成许多块&#xff08;“数据包”&#xff09;&#xff0c;每个数据包单独传输&#xff0c;当这些数据包到达链的末端时&#xff0c;就会重新组装并作为一个整体呈现。此外&#xff0c;每个数据包还有其可识别信息&…

4、High-Resolution Image Synthesis with Latent Diffusion Models

简介github地址diffusion model明显的缺点是耗费大量的时间、计算资源&#xff0c;为此&#xff0c;论文将其应用于强大的预训练自编码器的潜在空间 &#xff0c;这是首次允许在复杂性降低和细节保存之间达到一个近乎最佳的点&#xff0c;极大地提高了视觉保真度。通过在模型架…

操作系统复习题

什么是线程&#xff1f; 线程&#xff08;Thread&#xff09;&#xff1a;轻量级进程&#xff0c;是操作系统进行调度的最小单位。一个线程是一个任务&#xff08;一个程序段&#xff09;的一次执行过程。线程不占有内存空间&#xff0c;它包括在进程的内存空间中。在同一个进程…

自然语言处理历史最全预训练模型(部署)汇集分享

什么是预训练模型&#xff1f;预练模型是其他人为解决类似问题而创建的且已经训练好的模型。代替从头开始建立模型来解决类似的问题&#xff0c;我们可以使用在其他问题上训练过的模型作为起点。预训练的模型在相似的应用程序中可能不是100&#xff05;准确的。本文整理了自然语…

踩坑:maven打包失败的解决方式总结

Maven打包失败原因总结如下&#xff1a; 失败原因1&#xff1a;无法使用spring-boot-maven-plugin插件 使用spring-boot-maven-plugin插件可以创建一个可执行的JAR应用程序&#xff0c;前提是应用程序的parent为spring-boot-starter-parent。 需要添加parent的包spring-boot…

QML组件

一个QML文件定义了一个独立的、顶级的QML组件。 一个QML组件就是一个模板&#xff0c;被QML运行环境解释来创建一个带有一些预定义行为的对象。 一个独立的QML组件可以运行多次来禅城多个对象&#xff0c;每个对象都可以称为该组件的实例。 例子&#xff1a; 在项目中添加一…

Redis基础入门

文章目录前言一、redis是什么&#xff1f;二、安装步骤1.下载安装包2.安装三、Redis的数据类型redis是一种高级的key-value的存储系统&#xff0c;其中的key是字符串类型&#xff0c;尽可能满足如下几点&#xff1a;字符串(String)列表(List)集合(Set&#xff0c;不允许出现重复…

MySQL面试题-索引篇

1.什么是索引 MySQL的索引是一种数据结构&#xff0c;可以用于加快数据库中数据的查询速度。索引是基于表中一个或多个列的值排序的快速查找数据结构&#xff0c;可以大大提高查询效率。MySQL支持多种类型的索引&#xff0c;如B-tree索引、哈希索引、全文索引等。 索引可以在…

【java基础】异常处理(Exception)

文章目录基本介绍异常分类抛出异常非检查型异常检查型异常捕获异常捕获单个异常捕获多个异常创建自定义异常类finally字句try-with-Resource总结基本介绍 对于一个程序&#xff0c;总是有bug的。如果我们的程序遇到一个错误就终止了&#xff0c;那么肯定是不合理&#xff0c;程…

数据爬取(urllib+BeautifulSoup)

文章目录知识点总结爬虫步骤爬虫三要素爬虫注意事项python爬取技术学习网页抓取库Urllib网页解析库Beautifulsoup案例知识点总结 爬虫是一种按照一定规则&#xff0c;自动抓取互联网上网页中的相应信息的程序或脚本。 爬虫步骤 1.需求分析 2.找到要爬取信息的网站 3.下载reque…

基于halo后台管理+Gblog-wx搭建的微信小程序

先决条件 1、已经通过docker安装了halo后台管理系统(参考:http://43.136.39.20:8090/archives/halo-build) 2、安装的halo版本为1.5.3版本。此版本的halo才能安装小程序主题并启动小程序 3、需要修改小程序文件配置 解决安装的不是1.5.3的halo 1、如果是docker安装的halo…

蓝牙技术|蓝牙5.4标准正式发布,蓝牙ESL电子价签迎来一波利好

蓝牙技术联盟于2023年1月31日批准了蓝牙核心规范v5.4版本(以下简称蓝牙5.4版本)&#xff0c;并已正式公布。 蓝牙5.4版本引入了四个新特性&#xff0c;如下: 广播数据加密&#xff08;Encrypted Advertising Data&#xff09;&#xff1a;对广播数据进行加密以提高广播数据传…

[神经网络]Swin Transformer网络

一、概述 Swin Transformer是一个用了移动窗口的层级式Vision Transformer。 在图像领域&#xff0c;Transformer需要解决如下两个问题&#xff1a; ①尺度问题&#xff1a;同一语义的物体在图像中有不一样的尺度。(大小不同) ②Resolution过大&#xff1a;若以像素点作为单位&…

利用python写一个gui小公举--环境搭建

文章目录背景搭建环境安装必要库添加工具快捷方式检验背景 在实习过程中遇到一个问题&#xff0c;某项目是通过python代码实现的&#xff0c;而且需要一直修改参数实现功能&#xff0c;过程有些繁琐。虽然师兄用PHP study搭了一个网站用于查看结果&#xff0c;但是还是过于繁琐…

分布式新闻项目实战 - 12.热点文章-实时计算(kafkaStream)

死海效应&#xff1a; 公司发展到一定阶段后&#xff0c;工作能力强的员工&#xff0c;就会离职&#xff0c;因为他无法容忍公司的某些行为&#xff0c;即使辞职也很快会找到好工作&#xff1b;工作能力差的员工&#xff0c;却赖着不走&#xff0c;因为辞职以后也不太好找工作&…

JavaScript实现十大排序算法

目录 概览 一、冒泡排序 1、算法描述 2、图示 3、代码 二、选择排序 1、算法描述 2、图示 3、代码 三、插入排序 1、算法描述 2、图示 ​编辑 3、代码 四、希尔排序 1、算法描述 2、图示 3、代码 五、并归排序 1、算法描述 2、图示 ​编辑​编辑3、代码 …

食品与疾病关系预测赛题

和鲸平台数据分析实战 题目&#xff1a;食品与疾病关系预测算法赛道 一、赛题描述 食品与疾病关系预测算法赛道 越来越多的证据表明&#xff0c;食物分子与慢性疾病之间存在关联甚至治疗关系。营养成分可能直接或间接地作用于人类基因组&#xff0c;并调节参与疾病风险和疾病…

php结课报告--会员注册管理系统

目录 1&#xff0e; 系统背景及意义 1 2&#xff0e; 系统的设计思路 1 2.1 数据库设计分析 1 2.2 功能模块设计分析 1 3&#xff0e; 程序功能测试及截图 1 3.1代码测试与功能演示 1 4&#xff0e; 总结与收获 6 1&#xff0e;系统背景及意义 随着现在时代得发展&#xff0c;…