AI编程系列一1小时完成链家房价爬虫程序

news2024/11/14 4:12:09

背景   AI编程实在太火,写了很多年的Java,现在Python 和Go 简单好用,今天结合智谱清言快速完成一个程序爬虫程序,没有任何Python 编程经验,只需要会提问,熟悉简单HTML结构即可。未来一定是有业务能力者的福音。

步骤一:首先展示效果:

使用“”CodeGeeX编程助手

提问一:初始化代码

提问内容“使用Python 生成抓取链家杭州余杭的最新房价”

此时拷贝出来就可以运行的:

import requests
from bs4 import BeautifulSoup

def get_house_price():
    url = 'https://hz.lianjia.com/ershoufang/yuhang/'
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
    }
    response = requests.get(url, headers=headers)
    soup = BeautifulSoup(response.text, 'html.parser')
    house_list = soup.find_all('div', class_='info clear')
    for house in house_list:
        title = house.find('div', class_='title').a.text.strip()
        price = house.find('div', class_='priceInfo').span.text.strip()
        print('标题:', title)
        print('价格:', price)
        print('---')

if __name__ == '__main__':
    get_house_price()

运行结果:

提问二:HTML内容解析

提问内容:使用python解析获取里面的文本内容”<div class="positionInfo"><span class="positionIcon"></span><a href="https://hz.lianjia.com/xiaoqu/1811100699594/" target="_blank" data-log_index="10" data-el="region">新湖果岭 </a> "

提问三: URL规律解析

提问内容:使用python 找出URL的规律并输出从第1页到100页的相关代码” https://hz.lianjia.com/ershoufang/yuhang/ https://hz.lianjia.com/ershoufang/yuhang/pg2/ https://hz.lianjia.com/ershoufang/yuhang/pg3/ https://hz.lianjia.com/ershoufang/yuhang/pg4/"

最终代码

import requests
import time
from bs4 import BeautifulSoup

def get_house_prices(url):
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
    }
    response = requests.get(url, headers=headers)
    soup = BeautifulSoup(response.text, 'html.parser')
    house_list = soup.find_all('div', class_='info clear')
    house_data = []
    for house in house_list:
        price = house.find('div', class_='priceInfo').find('div', class_='totalPrice').text.strip()
        # 清理价格数据,去除非数字字符
        price = int(''.join(filter(str.isdigit, price)))
        house_name = house.find('div', class_='title').find('a', href=True).text.strip()
        estate_name = house.find('div', class_='positionInfo').find('a', href=True).text.strip()
        house_data.append((house_name,estate_name, price))
    # 按价格排序
    house_data.sort(key=lambda x: x[1])
    return house_data

if __name__ == '__main__':
    for i in range(2, 101):
        url = "https://hz.lianjia.com/ershoufang/yuhang/pg{}/".format(i)
        house_data = get_house_prices(url)
        for house_name,estate_name,price in house_data:
            print("【标题】" + house_name,"【小区】"+ str(estate_name),"【价格】"+ str(price))
    time.sleep(5)

  

总之,AI在编程领域的应用具有深远意义,作为技术总监,我们要充分利用这一技术,推动企业乃至整个行业的发展。同时,关注人才培养、安全保障、伦理道德等方面,确保技术应用的可持续发展。

  • 快速转变思维,从业务着手完成自己技能的升级。

  • 技术普惠:AI技术的进步使得编程不再只是专业程序员的专属技能。即使是编程基础薄弱的人,也能通过自然语言与AI助手互动,快速完成代码编写。这极大地降低了技术门槛,促进了技术的普及和普惠。

  • 效率提升:AI辅助编程可以让开发者将更多精力投入到业务逻辑和产品设计上,而不用担心代码实现的细节。这种效率的提升有助于加快项目进度,缩短产品上市时间。

  • 人才培养:借助AI编程助手,企业可以快速培养具备基本编程能力的人才,弥补人才缺口。这对于我国软件产业的发展具有重要意义。

  • 代码质量:AI通过对大量代码的学习,能够为开发者提供更加规范、高效的代码优化建议。这将有助于提高代码质量,降低系统维护成本。

  • 技术融合:在AI编程助手的基础上,我们可以进一步探索与其他技术的融合,如云计算、大数据、物联网等,为企业提供更加全面的技术支持。

  • 安全保障:随着AI编程的普及,代码安全愈发重要。技术总监需关注AI编程过程中的安全问题,确保生成的代码符合安全规范。

  • 持续学习:AI技术不断更新迭代,作为技术总监,我们要鼓励团队成员持续学习,紧跟技术发展趋势,提升自身竞争力。

  • 伦理道德:在利用AI技术优化代码的过程中,我们要关注伦理道德问题,确保AI编程助手遵循我国法律法规,尊重用户隐私。

  • 产业升级:借助AI编程助手,企业可以加快技术创新,推动产业升级,为我国经济发展贡献力量。

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

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

相关文章

Anylogic设置颜色

三维对象的颜色修改 以detector智能体为例&#xff0c;颜色修改代码为&#xff1a; detector.setColor(“Material_(4)_Surf”,blue); 二维对象的颜色修改 house智能体为例&#xff0c;对组件内的_ps282填充的颜色进行修改&#xff0c;level_是该智能体已有的参数或者称之为变…

CLRerNet推理详解及部署实现(下)

目录 前言一、CLRerNet推理(Python)1. CLRerNet预测2. CLRerNet预处理3. CLRerNet后处理4. CLRerNet推理 二、CLRerNet推理(C)1. ONNX 导出2. CLRerNet预处理3. CLRerNet后处理4. CLRerNet推理 三、CLRerNet部署1. 源码下载2. 环境配置2.1 配置CMakeLists.txt2.2 配置Makefile …

python:画由抛物线: y^2=2x 与直线 y=x-4 所围成的图形

《高等数学》同济大学版 P339 编写 test_diff_3_area.py 如下 # -*- coding: utf-8 -*- """ 画由抛物线: y^22x 与直线 yx-4 所围成的图形 """ import numpy as np import matplotlib.pyplot as plt from matplotlib.patches import Polygon…

11结构型设计模式——外观模式

一、外观模式简介 外观模式&#xff08;Facade Pattern&#xff09;是一种结构型设计模式&#xff0c;它提供了一个统一的接口来访问子系统中的一组接口&#xff0c;使得子系统的使用更加简单和方便。通过外观模式&#xff0c;可以将复杂的子系统封装在一个外观类&#xff08;…

​​数据结构-树

n = 度数之和 + 1 n + x + y + z = x +2y +3z + 1

增加练习(修改获取练习的基本信息接口)

文章目录 1.sun-club-practice-api1.enums1.CompleteStatusEnum.java 2.req1.GetPracticeSubjectsReq.java 3.vo1.PracticeSubjectListVO.java 2.sun-club-practice-server1.PracticeSetController.java2.service1.PracticeSetServiceImpl.java 3.dao1.PracticeDao.java2.Pract…

HAL STM32 SG90舵机驱动控制

HAL STM32 SG90舵机驱动控制 &#x1f516;测试对象&#xff1a;STM32F103SG90舵机 &#x1f33c;功能实现&#xff1a;通过串口指令&#xff0c;控制SG90舵机转动到指定角度。 ✨在实际硬件舵机驱动过程中&#xff0c;使用SG90普通舵机空载运转情况下&#xff0c;电流在180mA…

验证集的loss比训练集大得多Val Loss is too large

这个跟数据集有关&#xff0c;不过可已通过clip减缓。 解决方法 nn.utils.clip_grad_norm_(self.Model.parameters(), max_norm5)

AtCoder Regular Contest 182 A~D

A.Chmax Rush!&#xff08;枚举&#xff09; 题意&#xff1a; 有一个长度为 N N N的整数序列 S S S。最初&#xff0c; S S S的所有元素都是 0 0 0。 同时给你两个长度为 Q Q Q的整数序列&#xff1a; P ( P 1 , P 2 , … , P Q ) P(P_1,P_2,\dots,P_Q) P(P1​,P2​,…,PQ…

AI产品经理修炼指南:从青铜到王者的逆袭之路

一、AI通识 1.1 AI产业结构 AI发展至今大致按照在产业结构上的分工不同产生了三种类型的公司&#xff0c;我们在转型时最好要先明确自己的优势及兴趣&#xff0c;来判断自己适合着眼于哪个层面的工作&#xff0c;从而进行针对性的学习和提升。 &#xff08;1&#xff09;行业…

Apache Flink细粒度资源管理原理

粗粒度资源管理 Apache Flink 1.1.4版本之前使用的是粗粒度的资源管理&#xff0c;即每个算子Slot Request所需要的资源都是未知的&#xff0c;Flink内部用UNKNOWN的特殊值来表示&#xff0c;这个值可以和任意资源规则的物理Slot匹配&#xff0c;站在Taskmanager的角度&#x…

打卡学习Python爬虫第二天|Web请求过程刨析

一、服务器渲染 服务器端渲染&#xff08;Server-Side Rendering&#xff0c;简称SSR&#xff09;是一种网页渲染技术。在这种技术中&#xff0c;服务器在接收到客户端的请求后&#xff0c;会生成页面的初始HTML内容&#xff0c;并将其发送给客户端。客户端浏览器接收到这些HT…

什么是BKP(备份寄存器)

一&#xff0c;什么是BKP 备份寄存器是42个16位的寄存器&#xff0c;可用来存储84个字节的用户应用程序数据。他们处在备份域里&#xff0c;当VDD电源被切断&#xff0c;他们仍然由VBAT维持供电。当系统在待机模式下被唤醒&#xff0c;或系统复位或电源复位时&#xff0c;他们也…

数据结构(6.2_2)——领接表法

领接表法&#xff08;顺序存储链式存储&#xff09; 代码&#xff1a; #define MaxVertextNum 10 //边(弧) typedef struct ArcNode {int adjvex;//边/弧指向哪个结点struct ArcNode* next;//指向下一条弧的指针//InfoType info;//边权值 }ArcNode; //顶点 typedef struct VNo…

小阿轩yx-Docker Swarm 管理

小阿轩yx-Docker Swarm 管理 容器编排部署工具 除 Google 推出的 Kubernetes 之外&#xff0c;还有 Docker 发布的 Swarm 与 Mesos 推出的 Marathon 案例一 Docker Swarm 群集部署 Docker 自诞生以来&#xff0c;容器特性以及镜像特性给 DevOps 爱好者带来很多方便很长时间…

基本数据统计分析上|集中位置统计量|分散程度统计量|分布形状统计量|常见概率分布

数据统计分析 现实生活中的许多数据都是随机产生的&#xff0c;如考试分数&#xff0c;月降雨量&#xff0c;灯泡寿命等。从统计角度来看&#xff0c;这些数据其实都是符合某种分布的&#xff0c;这种分布就是统计规律性 在数学建模过程中经常与数据打交道&#xff0c;需要进行…

【鸟哥的Linux私房菜(七)之文件IO】

文章目录 C语言文件IOC语言文件接口汇总什么是当前路径&#xff1f;默认打开的三个流 系统文件I/Oopenopen的第一个参数open的第二个参数open的第三个参数open的返回值 closewriteread 文件描述符fd文件描述符的分配规则重定向重定向的原理dup2添加重定向功能到minishell FILEF…

微乐校园pf

TOC springboot451微乐校园pf 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进行科学化&#xff0c;规范化管理。这…

vue3中引入插件报ts报错Could not find a declaration file for module

引入第三方组件时&#xff0c;下载了组件还是报ts错误Could not find a declaration file for module 解决办法 1. 下载这个插件的ts库&#xff08;有的没有ts库就用下面这种方式&#xff09; 2. 在src下创建一个shims-vue.d.ts文件&#xff08;简单直接&#xff0c;我用的这种…

DNS域名解析服务理论详解(域名结构、递归查询和迭代查询、CDN)

文章目录 DNS域名解析服务1.DNS系统的概念2.DNS系统的主要作用3.DNS的分布式数据结构和域名的结构4.DNS服务器类型4.1三种类型4.2分布式数据库4.3名词解释 5.CDN技术5.1CDN的基本原理5.2CDN的主要功能 6.DNS查询类型及原理6.1查询方式6.2查询原理过程6.3本地主机的DNS映射文件 …