爬虫练习:获取某网站的房价信息
一、相关网站
二、相关代码
import requests
from lxml import etree
import csv
with open('房天下数据.csv', 'w', newline='', encoding='utf-8') as csvfile:fieldnames = ['名称', '地点','价格','总价','联系电话']writer = csv.DictWriter(csvfile, fieldnames=fieldnames)writer.writeheader()for page in range(1,33):response = requests.get(f'https://newhouse.fang.com/house/s/b9{page}/')result = etree.HTML(response.text)names = [name.strip() for name in result.xpath('//div[@class="nlcd_name"]/a/text()')]addreses = result.xpath('//div[@class="address"]/a/@title')prices = [price.xpath('string(.)').strip() for price in result.xpath('//div[@class="nhouse_price"]')]total_prices = result.xpath('//p[@class="zj_price"]/text()')phone_texts = result.xpath('//div[@class="tel"]/p/text()')# 定义一个函数用于检查电话号码是否有效(这里仅作为示例,您可以根据实际需求定义有效性)def is_valid_phone_number(phone_number):# 这里可以根据实际情况编写验证规则# 例如,简单地检查长度大于0return bool(phone_number.strip())# 合并电话号码和分机号,并用'转'连接phones = ['{}转{}'.format(phone_texts[i].strip(), phone_texts[i+1].strip())if is_valid_phone_number(phone_texts[i]) and is_valid_phone_number(phone_texts[i+1])else "NAN"for i in range(0, len(phone_texts)-1, 2)]# print(names,addreses,prices,total_prices,phones)for nam,add,pri,topr,pho in zip(names,addreses,prices,total_prices,phones):print(f'{nam} ====== {add} ====== {pri} ====== {topr} ===== {pho}')writer.writerow({'名称': nam, '地点': add,'价格':pri,'总价':topr,'联系电话':pho})
三、获取结果
版权声明和免责声明 本博客提供的所有爬虫代码和相关内容(以下简称“内容”)仅供参考和学习之用。任何使用或依赖这些内容的风险均由使用者自行承担。我(博客所有者)不对因使用这些内容而产生的任何直接或间接损失承担责任。 严禁将本博客提供的爬虫代码用于任何违法、不道德或侵犯第三方权益的活动。使用者应当遵守所有适用的法律法规,包括但不限于数据保护法、隐私权法和知识产权法。 如果您选择使用本博客的爬虫代码,您应当确保您的使用行为符合所有相关法律法规,并且不会损害任何人的合法权益。在任何情况下,我(博客所有者)均不对您的行为负责。 如果您对本声明有任何疑问,或者需要进一步的澄清,请通过我的联系方式与我联系。 |
相关文章:

爬虫练习:获取某网站的房价信息
一、相关网站 二、相关代码 import requests from lxml import etree import csv with open(房天下数据.csv, w, newline, encodingutf-8) as csvfile:fieldnames [名称, 地点,价格,总价,联系电话]writer csv.DictWriter(csvfile, fieldnamesfieldnames)writer.writeheader…...
第一个C语言hello world
#include <stdio.h> int main() {printf("hello world ! \n");//打印函数return 0; } "#" : 预处理标志 include <> : 表示预处理的文件在<>内 stdio.h : 标准的io头文件 // io : 输入输出 // printf()…...

【Python】新手入门学习:详细介绍依赖倒置原则(DIP)及其作用、代码示例
【Python】新手入门学习:详细介绍依赖倒置原则(DIP)及其作用、代码示例 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、Py…...
嵌入式驱动学习目录索引(更新中)
前言 这是一篇索引博客,用来作为索引记录学习嵌入式Linux的过程,可以用来给自己以及需要的读者作为一个目录索引,每次更新完博客都会添加进该目录中。 嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程,未来预计四个月将高强度…...

ruoyi-vue插件集成websocket
链接:插件集成 | RuoYi WebSocketServer.java:补充代码 /*** 此为广播消息* param message 消息内容*/public void sendAllMessage(String message) {LOGGER.info("【websocket.sendAllMessage】广播消息:"message);try {for(String sessionI…...

华为ce12800交换机m-lag(V-STP模式)配置举例
配置## 标题思路 采用如下的思路配置M-LAG双归接入IP网络: 1.在Switch上配置上行接口绑定在一个Eth-Trunk中。 2.分别在SwitchA和SwitchB上配置V-STP、DFS Group、peer-link和M-LAG接口。 3.分别在SwitchA和SwitchB上配置LACP M-LAG的系统优先级、系统ID。 4.分别在…...

STM32第九节(中级篇):RCC——时钟树讲解(第一节)
目录 前言 STM32第九节(中级篇):RCC——时钟树讲解 时钟树主系统时钟讲解 HSE时钟 HSI时钟 锁相环时钟 系统时钟 SW位控制 HCLK时钟 PCLKI时钟 PCLK2时钟 RTC时钟 MCO时钟输出 6.2.7时钟安全系统(CSS) 小结 前言 从…...
c/c++字符串处理标准库 string 介绍
c语言中string.h介绍 C语言的标准库中包含了一个头文件 <string.h>,该头文件提供了一系列字符串处理函数的声明和定义。以下是一些常用的函数: 字符串复制:strcpy(dest, src)。将源字符串 src 复制到目标字符串 dest,包括…...

HarmonyOS NEXT应用开发之深色模式适配
介绍 本示例介绍在开发应用以适应深色模式时,对于深色和浅色模式的适配方案,采取了多种策略如下: 固定属性适配:对于部分组件的颜色属性,如背景色或字体颜色,若保持不变,可直接设定固定色值或…...
Go微服务: 基于Go Micro框架实现微服务调用
Go Micro 1 )概述 在具体的项目开发过程中,开发者聚焦的是业务逻辑的开发和功能的实现大量的环境配置,调试搭建等基础性工作会耗费相当一部分的精力因此有必要将微服务架构中所涉及到的,相关的解决方案做集中管理和维护Go Micro …...
大模型prompt提示词如何调优?
当使用大型模型(如GPT-3.5)时,可以通过优化提示(prompt)来引导模型生成更加符合预期的内容。以下是一些调优提示词的建议: 1、清晰的问题陈述:确保你的问题或提示清晰、简明,能够准…...

【Python/crawl】如何使用Python爬虫将一系列网页上的同类图片下载到本地
【需求】 从网页https://www.zhainq.com/%e7%be%8e%e5%a5%b3%e5%86%99%e7%9c%9f%e6%9c%ba%e6%9e%84/%e6%97%a5%e6%9c%ac%e7%be%8e%e5%a5%b3%e5%86%99%e7%9c%9f/109012.html 开始,有十七页,每页都有大漂亮“小濑田麻由”的若干图片,想要将其…...
Postgresql 连接数查看,死锁问题解决
-- 查看所有连接 select * -- datname,pid,application_name,state from pg_stat_activity; -- 查询最大连接数 select max_conn-now_conn as resi_conn from (select setting::int8 as max_conn,(select count(*) from pg_stat_activity) as now_conn from pg_settings where…...

ssm蛋糕甜品商城系统(程序+文档+数据库)
** 🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅** 一、研究背景…...

算法空间复杂度计算
目录 空间复杂度定义 影响空间复杂度的因素 算法在运行过程中临时占用的存储空间讲解 例子 斐波那契数列递归算法的性能分析 二分法(递归实现)的性能分析 空间复杂度定义 空间复杂度(Space Complexity)是对一个算法在运行过程中临时占用存储空间大…...
C++ lambda函数个人理解
及方便自己在函数内部定义函数 int main() {int i 1;auto c [](int a, int c) {return ab;};int d a(2, i);cout<<c;return 0; }格式: auto functionname [capture](parameters) -> return_type { /* … */ }; (1)[capture] &a…...

SwiftUI的context Menu
SwiftUI的 context Menu 现在来演示一下如何使用 SwiftUI 的 Context Menu 。 代码: import SwiftUIstruct ContextMenuBootCamp: View {State var bgColor: Color .purplevar body: some View {VStack(alignment: .leading, spacing: 10.0) {Image(systemName: …...

【数据结构】树与堆 (向上/下调整算法和复杂度的分析、堆排序以及topk问题)
文章目录 1.树的概念1.1树的相关概念1.2树的表示 2.二叉树2.1概念2.2特殊二叉树2.3二叉树的存储 3.堆3.1堆的插入(向上调整)3.2堆的删除(向下调整)3.3堆的创建3.3.1使用向上调整3.3.2使用向下调整3.3.3两种建堆方式的比较 3.4堆排…...
安装CDH平台的服务器磁盘满了,磁盘清理过程记录
1.使用hdfs命令查看哪个文件占用最大 hdfs dfs -du -h /tmp 2.我的服务器上显示/tmp/hive/hive文件夹下的,一串字符串命名的文件特别大几乎把磁盘占满了 网上查到/tmp文件是临时文件,由于hiveserver2任务运行异常导致缓存未删除,正常情况下…...

《互联网的世界》第七讲-能源
本想聊聊 tcp 和 quic,但这些都属于术的范畴,变化多端,等孩子们长大了又不知变成什么样子了,趁这段时间在家,还是得讲一些相对不变的东西,或法或势。 从 安阳卖血糕的精巧篦子 想到如何做圆米粉和圆面条&a…...

遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...

基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制
目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...
「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案
在移动互联网营销竞争白热化的当下,推客小程序系统凭借其裂变传播、精准营销等特性,成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径,助力开发者打造具有市场竞争力的营销工具。 一、系统核心功能架构&…...
LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)
在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...
DiscuzX3.5发帖json api
参考文章:PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下,适配我自己的需求 有一个站点存在多个采集站,我想通过主站拿标题,采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...

若依登录用户名和密码加密
/*** 获取公钥:前端用来密码加密* return*/GetMapping("/getPublicKey")public RSAUtil.RSAKeyPair getPublicKey() {return RSAUtil.rsaKeyPair();}新建RSAUti.Java package com.ruoyi.common.utils;import org.apache.commons.codec.binary.Base64; im…...