跳转至内容
0
  • 版块
  • 讨论
  • 最新
  • 标签
  • 热门
  • 顶端
  • 用户
  • 版块
  • 讨论
  • 最新
  • 标签
  • 热门
  • 顶端
  • 用户
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Zephyr)
  • 不使用皮肤
折叠
JIKE社区
  1. 首页
  2. 讨论区
  3. 技术专区
  4. 本社区终于可以向 @ChatGPT 提问了!

本社区终于可以向 @ChatGPT 提问了!

已定时 已固定 已锁定 已移动 技术专区
11.5k 帖子 326 发布者 49.5m 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • G gao55pan

    用python的fastapi框架和vue构建一套学生信息管理系统,mysql学生信息表有name,age,sex,address这四个字段,要求可以通过admin后台实现对学生信息的增删改查,要求目录结构合理,请给出每个文件的完整代码 @ChatGPT

    ChatGPTC 离线
    ChatGPTC 离线
    ChatGPT
    写于 最后由 编辑
    #2415

    gao55pan说:

    用python的fastapi框架和vue构建一套学生信息管理系统,mysql学生信息表有name,age,sex,address这四个字段,要求可以通过admin后台实现对学生信息的增删改查,要求目录结构合理,请给出每个文件的完整代码

    一、完整的文件目录结构
    ├── api # api接口文件夹
    │   ├── app.py # 后端app入口文件
    │   ├── database.py # 数据库操作文件
    │   └── routers.py # api接口文件
    ├── vue # vue前端文件夹
    │   ├── components # vue组件
    │   │   ├── admin # 后台管理组件
    │   │   │   ├── add.vue # 添加学生信息组件
    │   │   │   ├── delete.vue # 删除学生信息组件
    │   │   │   ├── update.vue # 修改学生信息组件
    │   │   │   └── view.vue # 查看学生信息组件
    │   │   └── App.vue # 入口组件
    │   ├── main.js # vue入口文件
    │   ├── router.js # vue路由文件
    │   ├── store.js # vue状态管理文件
    │   └── views # 视图文件
    │       └── index.vue # 首页
    ├── .gitignore # git忽略文件
    └── README.md # 项目说明文件
    
    二、每个文件的完整代码
    1. app.py
    from fastapi import FastAPI
    from routers import student_router
    
    app = FastAPI()
    
    app.include_router(
        student_router,
        prefix="/students",
        tags=["students"]
    )
    
    1. database.py
    # -*- coding: utf-8 -*-
    import pymysql
    
    # mysql数据库连接
    def connect_mysql():
        conn = pymysql.connect(
            host='127.0.0.1',
            port=3306,
            user='root',
            password='123456',
            database='student'
        )
        return conn
    
    # 查询学生信息
    def query_student():
        conn = connect_mysql()
        cursor = conn.cursor()
        sql = "select * from student"
        cursor.execute(sql)
        res = cursor.fetchall()
        cursor.close()
        conn.close()
        return res
    
    # 添加学生信息
    def add_student(name, age, sex, address):
        conn = connect_mysql()
        cursor = conn.cursor()
        sql = "insert into student values('%s', '%s', '%s', '%s')" % (name, age, sex, address)
        cursor.execute(sql)
        conn.commit()
        cursor.close()
        conn.close()
    
    # 删除学生信息
    def delete_student(name):
        conn = connect_mysql()
        cursor = conn.cursor()
        sql = "delete from student where name='%s'" % name
        cursor.execute(sql)
        conn.commit()
        cursor.close()
        conn.close()
    
    # 修改学生信息
    def update_student(name, age, sex, address):
        conn = connect_mysql()
        cursor = conn.cursor()
        sql = "update student set age='%s', sex='%s', address='%s' where name='%s'" % (age, sex, address, name)
        cursor.execute(sql)
        conn.commit()
        cursor.close()
        conn.close()
    
    1. routers.py
    # -*- coding: utf-8 -*-
    from fastapi import APIRouter
    from database import query_student, add_student, delete_student, update_student
    
    student_router = APIRouter()
    
    # 获取学生信息
    @student_router.get("/")
    def get_students():
        res = query_student()
        return res
    
    # 添加学生信息
    @student_router.post("/")
    def add_student(name: str, age: int, sex: str, address: str):
        res = add_student(name, age, sex, address)
        return res
    
    # 删除学生信息
    @student_router.delete("/")
    def delete_student(name: str):
        res = delete_student(name)
        return res
    
    # 修改学生信息
    @student_router.put("/")
    def update_student(name: str, age: int, sex: str, address: str):
        res = update_student(name, age, sex, address)
        return res
    
    1. add.vue
    
      
        
          Name:
          
          Age:
          
          Sex:
          
          Address:
          
          Add Student
        
      
    
    
    
    export default {
      data() {
        return {
          name: '',
          age: 0,
          sex: '',
          address: ''
        }
      },
      methods: {
        onAddStudent: function() {
          this.$axios.post('/students/', {
            name: this.name,
            age: this.age,
            sex: this.sex,
            address: this.address
          }).then(() => {
            alert('添加成功!')
            this.$router.push({ path: '/' })
          }).catch((err) => {
            alert(err)
          })
        }
      }
    }
    
    
    1. delete.vue
    
      
        
          Name:
          
          Delete Student
        
      
    
    
    
    export default {
      data() {
        return {
          name: ''
        }
      },
      methods: {
        onDeleteStudent: function() {
          this.$axios.delete('/students/', {
            params: {
              name: this.name
            }
          }).then(() => {
            alert('删除成功!')
            this.$router.push({ path: '/' })
          }).catch((err) => {
            alert(err)
          })
        }
      }
    }
    
    
    1. update.vue
    
      
        
          Name:
          
          Age:
          
          Sex:
          
          Address:
          
          Update Student
        
      
    
    
    
    export default {
      data() {
        return {
          name: '',
          age: 0,
          sex: '',
          address: ''
        }
      },
      methods: {
        onUpdateStudent: function() {
          this.$axios.put('/students/', {
            name: this.name,
            age: this.age,
            sex: this.sex,
            address: this.address
          }).then(() => {
            alert('修改成功!')
            this.$router.push({ path: '/' })
          }).catch((err) => {
            alert(err)
          })
        }
      }
    }
    
    
    1. view.vue
    
      
        
          
            
              Name
              Age
              Sex
              Address
            
          
          
            
              {{ item.name }}
              {{ item.age }}
              {{ item.sex }}
              {{ item.address }}
            
          
        
      
    
    
    
    export default {
      data() {
        return {
          students: []
        }
      },
      mounted() {
        this.$axios.get('/students/').then((res) => {
          this.students = res.data
        }).catch((err) => {
          alert(err)
        })
      }
    }
    
    
    1. App.vue
    
      
        
      
    
    
    
    export default {
      data() {
        return {
        }
      }
    }
    
    
    1. main.js
    import Vue from 'vue'
    import App from './App.vue'
    import router from './router'
    import store from './store'
    
    Vue.config.productionTip = false
    
    new Vue({
      router,
      store,
      render: h => h(App)
    }).$mount('#app')
    
    1. router.js
    import Vue from 'vue'
    import Router from 'vue-router'
    import Home from './views/index.vue'
    import Add from './components/admin/add.vue'
    import Delete from './components/admin/delete.vue'
    import Update from './components/admin/update.vue'
    import View from './components/admin/view.vue'
    
    Vue.use(Router)
    
    export default new Router({
      mode: 'history',
      base: process.env.BASE_URL,
      routes: [
        {
          path: '/',
          name: 'home',
          component: Home
        },
        {

    帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

    1 条回复 最后回复
    0
    • G 离线
      G 离线
      gao55pan
      🍌
      写于 最后由 编辑
      #2416

      用python的fastapi框架构建一套学生信息管理系统,mysql学生信息表有name,age,sex,address这四个字段,要求可以通过admin后台实现对学生信息的增删改查,要求目录结构合理,请给出每个文件的完整代码 @ChatGPT

      ChatGPTC 1 条回复 最后回复
      0
      • G gao55pan

        用python的fastapi框架构建一套学生信息管理系统,mysql学生信息表有name,age,sex,address这四个字段,要求可以通过admin后台实现对学生信息的增删改查,要求目录结构合理,请给出每个文件的完整代码 @ChatGPT

        ChatGPTC 离线
        ChatGPTC 离线
        ChatGPT
        写于 最后由 编辑
        #2417

        gao55pan说:

        用python的fastapi框架构建一套学生信息管理系统,mysql学生信息表有name,age,sex,address这四个字段,要求可以通过admin后台实现对学生信息的增删改查,要求目录结构合理,请给出每个文件的完整代码

        app.py

        from fastapi import FastAPI
        
        app = FastAPI()
        
        @app.get("/")
        def root():
            return {"message": "Hello World!"}
        

        routers/admin.py

        from fastapi import APIRouter
        from ..model.student import Student
        
        router = APIRouter()
        
        @router.get("/students")
        def list_students():
            return Student.objects.all()
        
        @router.post("/students")
        def add_student(student: Student):
            student.save()
            return student
        
        @router.put("/students/{student_id}")
        def update_student(student_id: int, student: Student):
            student_update = Student.objects.get(id=student_id)
            student_update.name = student.name
            student_update.age = student.age
            student_update.sex = student.sex
            student_update.address = student.address
            student_update.save()
            return student_update
        
        @router.delete("/students/{student_id}")
        def delete_student(student_id: int):
            student = Student.objects.get(id=student_id)
            student.delete()
            return {"message": "删除成功!"}
        

        model/student.py

        from mongoengine import Document, StringField, IntField
        
        class Student(Document):
            name = StringField(required=True)
            age = IntField(required=True)
            sex = StringField(required=True)
            address = StringField(required=True)
        

        main.py

        from fastapi import FastAPI
        from routers.admin import router
        
        app = FastAPI()
        
        app.include_router(router)
        

        帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

        1 条回复 最后回复
        0
        • G 离线
          G 离线
          gao55pan
          🍌
          写于 最后由 编辑
          #2418

          用python的fastapi框架构建一套学生信息管理系统,mysql学生信息表有name,age,sex,address这四个字段,要求可以通过admin后台管理界面实现对学生信息的增删改查,要求目录结构合理,请给出每个文件的完整代码 @ChatGPT

          ChatGPTC 1 条回复 最后回复
          0
          • G gao55pan

            用python的fastapi框架构建一套学生信息管理系统,mysql学生信息表有name,age,sex,address这四个字段,要求可以通过admin后台管理界面实现对学生信息的增删改查,要求目录结构合理,请给出每个文件的完整代码 @ChatGPT

            ChatGPTC 离线
            ChatGPTC 离线
            ChatGPT
            写于 最后由 编辑
            #2419

            gao55pan说:

            用python的fastapi框架构建一套学生信息管理系统,mysql学生信息表有name,age,sex,address这四个字段,要求可以通过admin后台管理界面实现对学生信息的增删改查,要求目录结构合理,请给出每个文件的完整代码

            1. 项目初始化

            # 创建项目
            mkdir student_info_system
            cd student_info_system
            # 创建虚拟环境
            python -m venv venv
            # 激活虚拟环境
            source venv/bin/activate
            # 安装依赖
            pip install fastapi pydantic
            # 创建目录结构
            mkdir app
            touch app/main.py
            touch app/__init__.py
            mkdir app/admin
            touch app/admin/__init__.py
            touch app/admin/routes.py
            # 创建数据库
            # 这里以mysql为例
            # 创建表
            CREATE TABLE student_info (
                name varchar(20) NOT NULL,
                age int(4) NOT NULL,
                sex varchar(2) NOT NULL,
                address varchar(50) NOT NULL
            );
            # 插入一些测试数据
            INSERT INTO student_info (name, age, sex, address) VALUES ('张三', 20, '男', '北京市朝阳区');
            

            2. 创建Model

            # app/admin/models.py
            from pydantic import BaseModel
            
            class StudentModel(BaseModel):
                name: str
                age: int
                sex: str
                address: str
            

            3. 创建路由

            # app/admin/routes.py
            from fastapi import APIRouter
            from app.admin.models import StudentModel
            
            router = APIRouter()
            
            @router.get("/students")
            def get_students():
                """
                获取学生信息
                """
                # 这里假设已经连接上MySQL数据库,并且可以正常执行SQL语句
                # 从数据库中获取学生信息
                result = db.execute("SELECT name, age, sex, address FROM student_info")
                # 将查询结果转换为StudentModel的实例列表
                students = [StudentModel(**item) for item in result]
                return {"students": students}
            
            @router.post("/students")
            def create_student(student: StudentModel):
                """
                添加学生信息
                """
                # 使用student参数,其类型为StudentModel,可以直接获取name, age, sex, address
                name, age, sex, address = student.name, student.age, student.sex, student.address
                # 执行SQL语句,将数据插入到数据库
                db.execute("INSERT INTO student_info (name, age, sex, address) VALUES (%s, %s, %s, %s)", (name, age, sex, address))
                return {"message": "success"}
            
            @router.put("/students/{student_id}")
            def update_student(student_id: int, student: StudentModel):
                """
                更新学生信息
                """
                # 使用student参数,其类型为StudentModel,可以直接获取name, age, sex, address
                name, age, sex, address = student.name, student.age, student.sex, student.address
                # 执行SQL语句,更新学生信息
                db.execute("UPDATE student_info SET name=%s, age=%s, sex=%s, address=%s WHERE id=%s", (name, age, sex, address, student_id))
                return {"message": "success"}
            
            @router.delete("/students/{student_id}")
            def delete_student(student_id: int):
                """
                删除学生信息
                """
                # 执行SQL语句,删除学生信息
                db.execute("DELETE FROM student_info WHERE id=%s", student_id)
                return {"message": "success"}
            

            4. 创建入口

            # app/main.py
            from fastapi import FastAPI
            from app.admin.routes import router as admin_router
            
            app = FastAPI()
            
            # 添加管理员路由
            app.include_router(admin_router, prefix="/admin")
            

            5. 运行服务

            # 运行服务
            uvicorn app.main:app --reload
            

            帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

            1 条回复 最后回复
            0
            • G 离线
              G 离线
              gao55pan
              🍌
              写于 最后由 编辑
              #2420

              @ChatGPT 使用fastapi构建一个项目,请推荐一个容易上手的后台管理框架

              ChatGPTC 1 条回复 最后回复
              0
              • G gao55pan

                @ChatGPT 使用fastapi构建一个项目,请推荐一个容易上手的后台管理框架

                ChatGPTC 离线
                ChatGPTC 离线
                ChatGPT
                写于 最后由 编辑
                #2421

                gao55pan说:

                使用fastapi构建一个项目,请推荐一个容易上手的后台管理框架

                建议使用Vue Admin。Vue Admin是一款基于Vue.js的开源的后台管理框架,它可以满足复杂的业务场景,更加灵活,可定制化。它具有极佳的性能,清晰的文档和丰富的插件,它可以帮助开发者快速构建出完善的后台管理系统。

                帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                1 条回复 最后回复
                0
                • G 离线
                  G 离线
                  gao55pan
                  🍌
                  写于 最后由 编辑
                  #2422

                  @ChatGPT 请用fastapi和Vue Admin实现学生信息的管理功能,可以实现增删改查功能,要求目录结构完整,并且给出详细的代码

                  ChatGPTC 1 条回复 最后回复
                  0
                  • G gao55pan

                    @ChatGPT 请用fastapi和Vue Admin实现学生信息的管理功能,可以实现增删改查功能,要求目录结构完整,并且给出详细的代码

                    ChatGPTC 离线
                    ChatGPTC 离线
                    ChatGPT
                    写于 最后由 编辑
                    #2423

                    gao55pan说:

                    请用fastapi和Vue Admin实现学生信息的管理功能,可以实现增删改查功能,要求目录结构完整,并且给出详细的代码

                    。

                    Fastapi代码:

                    from fastapi import FastAPI
                    from pydantic import BaseModel
                    
                    app = FastAPI()
                    
                    # 定义学生的Model
                    class Student(BaseModel):
                        id: str
                        name: str
                        age: int
                        gender: str
                    
                    # 定义学生的列表
                    students = [
                        {
                            "id": "stu_001",
                            "name": "小明",
                            "age": 18,
                            "gender": "male"
                        }
                    ]
                    
                    # 根据id获取学生
                    @app.get("/student/{id}")
                    def get_student_by_id(id: str):
                        for student in students:
                            if student["id"] == id:
                                return student
                    
                    # 获取所有学生
                    @app.get("/students")
                    def get_students():
                        return students
                    
                    # 添加学生
                    @app.post("/student")
                    def add_student(student: Student):
                        students.append(student.dict())
                        return student
                    
                    # 修改学生信息
                    @app.put("/student/{id}")
                    def update_student(id: str, student: Student):
                        for s in students:
                            if s["id"] == id:
                                s.update(student.dict())
                                return s
                    
                    # 删除学生
                    @app.delete("/student/{id}")
                    def delete_student(id: str):
                        for i, s in enumerate(students):
                            if s["id"] == id:
                                del students[i]
                                return s
                    

                    Vue Admin代码:

                    
                      
                        
                          
                          
                          
                          
                            
                              编辑
                              删除
                            
                          
                        
                        
                          
                            
                              
                            
                            
                              
                            
                            
                              
                                
                              
                            
                          
                          
                            取 消
                            确 定
                          
                        
                      
                    
                    
                    
                    export default {
                      data() {
                        return {
                          students: [],
                          dialogVisible: false,
                          genders: [
                            { value: 'male', label: '男' },
                            { value: 'female', label: '女' }
                          ],
                          form: {
                            name: '',
                            age: '',
                            gender: ''
                          }
                        }
                      },
                      methods: {
                        // 获取所有学生
                        getStudents() {
                          this.$axios.get('http://127.0.0.1:8000/students').then(res => {
                            this.students = res.data
                          })
                        },
                        // 编辑学生信息
                        handleEdit(index, row) {
                          this.dialogVisible = true
                          this.form.name = row.name
                          this.form.age = row.age
                          this.form.gender = row.gender
                        },
                        // 删除学生
                        handleDelete(index, row) {
                          this.$axios.delete(`http://127.0.0.1:8000/student/${row.id}`).then(res => {
                            this.students.splice(index, 1)
                          })
                        },
                        // 保存学生
                        saveStudent() {
                          this.$axios.put(`http://127.0.0.1:8000/student/${row.id}`, this.form).then(res => {
                            this.students.splice(index, 1, res.data)
                          })
                        }
                      },
                      created() {
                        this.getStudents()
                      }
                    }
                    
                    

                    帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                    1 条回复 最后回复
                    0
                    • G 离线
                      G 离线
                      gao55pan
                      🍌
                      写于 最后由 编辑
                      #2424

                      @ChatGPT 'yarn' 不是内部或外部命令,也不是可运行的程序

                      ChatGPTC 1 条回复 最后回复
                      0
                      • G gao55pan

                        @ChatGPT 'yarn' 不是内部或外部命令,也不是可运行的程序

                        ChatGPTC 离线
                        ChatGPTC 离线
                        ChatGPT
                        写于 最后由 编辑
                        #2425

                        gao55pan说:

                        'yarn' 不是内部或外部命令,也不是可运行的程序

                        解决方案:

                        1. 首先检查本地是否已经安装了Yarn工具,如果没有,请根据操作系统和版本下载安装Yarn。

                        2. 如果已经安装了Yarn,请检查系统环境变量中是否添加了Yarn的安装路径。如果没有添加,请按照安装说明添加环境变量,以便系统识别Yarn命令。

                        帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                        1 条回复 最后回复
                        0
                        • S 离线
                          S 离线
                          Ss1110
                          写于 最后由 编辑
                          #2426

                          @ChatGPT C 语言编写一个if-else语句和switch语句编写程序表示90-100为优秀,80-89为良好,60-79为及格,60以下为不及格

                          ChatGPTC 1 条回复 最后回复
                          0
                          • S Ss1110

                            @ChatGPT C 语言编写一个if-else语句和switch语句编写程序表示90-100为优秀,80-89为良好,60-79为及格,60以下为不及格

                            ChatGPTC 离线
                            ChatGPTC 离线
                            ChatGPT
                            写于 最后由 编辑
                            #2427

                            Ss1110说:

                            C 语言编写一个if-else语句和switch语句编写程序表示90-100为优秀,80-89为良好,60-79为及格,60以下为不及格

                            if-else语句:

                            if(score>=90 && score=80 && score=60 && score<=79)
                                printf("及格\n");
                            else
                                printf("不及格\n");
                            

                            switch语句:

                            switch(score){
                                case 90 ... 100:
                                    printf("优秀\n");
                                    break;
                                case 80 ... 89:
                                    printf("良好\n");
                                    break;
                                case 60 ... 79:
                                    printf("及格\n");
                                    break;
                                default:
                                    printf("不及格\n");
                                    break;
                            }
                            

                            帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                            1 条回复 最后回复
                            0
                            • S 离线
                              S 离线
                              Ss1110
                              写于 最后由 编辑
                              #2428

                              C 语言编写一个输入数字并用if-else语句和switch语句编写程序表示90-100为优秀,80-89为良好,60-79为及格,60以下为不及格

                              1 条回复 最后回复
                              0
                              • S 离线
                                S 离线
                                Ss1110
                                写于 最后由 编辑
                                #2429

                                @ChatGPT C 语言编写一个输入数字并用if-else语句和switch语句编写程序表示90-100为优秀,80-89为良好,60-79为及格,60以下为不及格

                                ChatGPTC 1 条回复 最后回复
                                0
                                • S Ss1110

                                  @ChatGPT C 语言编写一个输入数字并用if-else语句和switch语句编写程序表示90-100为优秀,80-89为良好,60-79为及格,60以下为不及格

                                  ChatGPTC 离线
                                  ChatGPTC 离线
                                  ChatGPT
                                  写于 最后由 编辑
                                  #2430

                                  Ss1110说:

                                  C 语言编写一个输入数字并用if-else语句和switch语句编写程序表示90-100为优秀,80-89为良好,60-79为及格,60以下为不及格

                                  // 使用 if-else 语句
                                  #include
                                  int main()
                                  {
                                  int number;
                                  printf("Please input a number: ");
                                  scanf("%d", &number);
                                  if (number >= 90 && number = 80 && number = 60 && number
                                  int main()
                                  {
                                  int number;
                                  printf("Please input a number: ");
                                  scanf("%d", &number);
                                  switch (number / 10)
                                  {
                                  case 10:
                                  case 9:
                                  printf("Excellent\n");
                                  break;
                                  case 8:
                                  printf("Good\n");
                                  break;
                                  case 7:
                                  case 6:
                                  printf("Pass\n");
                                  break;
                                  default:
                                  printf("Failed\n");
                                  break;
                                  }
                                  return 0;
                                  }

                                  帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                                  1 条回复 最后回复
                                  0
                                  • 我是小马甲~M 离线
                                    我是小马甲~M 离线
                                    我是小马甲~
                                    🤫
                                    写于 最后由 编辑
                                    #2431

                                    @ChatGPT W2C 是什么

                                    唐宋元明清,连排小工兵!

                                    ChatGPTC 1 条回复 最后回复
                                    0
                                    • 我是小马甲~M 我是小马甲~

                                      @ChatGPT W2C 是什么

                                      ChatGPTC 离线
                                      ChatGPTC 离线
                                      ChatGPT
                                      写于 最后由 编辑
                                      #2432

                                      malaohu说:

                                      W2C 是什么

                                      W2C 是指 Web to C(网络到C),是一种从 Web 技术和语言转换为 C 语言的过程。它可以用来将网络应用程序或网页上的功能转换为 C 程序,以便在有限的计算资源中实现较大的功能。

                                      帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                                      1 条回复 最后回复
                                      0
                                      • G 离线
                                        G 离线
                                        gao55pan
                                        🍌
                                        写于 最后由 编辑
                                        #2433

                                        @ChatGPT 请用Scrapy爬取https://www.chinaz.com/这个页面的文章内容,请给出详细的代码

                                        ChatGPTC 1 条回复 最后回复
                                        0
                                        • G gao55pan

                                          @ChatGPT 请用Scrapy爬取https://www.chinaz.com/这个页面的文章内容,请给出详细的代码

                                          ChatGPTC 离线
                                          ChatGPTC 离线
                                          ChatGPT
                                          写于 最后由 编辑
                                          #2434

                                          gao55pan说:

                                          请用Scrapy爬取https://www.chinaz.com/这个页面的文章内容,请给出详细的代码

                                          -- coding: utf-8 --

                                          import scrapy

                                          class ChinazSpider(scrapy.Spider):
                                          name = 'ChinazSpider'
                                          allowed_domains = ['chinaz.com']
                                          start_urls = ['https://www.chinaz.com/']

                                          def parse(self, response):
                                              # 获取文章链接
                                              article_urls = response.xpath('//div[@class="listCentent"]/h3/a/@href').extract()
                                              # 获取每篇文章内容
                                              for article_url in article_urls:
                                                  yield scrapy.Request(url=article_url, callback=self.parse_detail)
                                          
                                          def parse_detail(self, response):
                                              # 获取文章标题
                                              title = response.xpath('//div[@class="ph_news"]/h1/text()').extract_first()
                                              # 获取文章内容
                                              content = response.xpath('//div[@class="ph_news"]/div[@class="ph_content"]/p/text()').extract()
                                              # 把标题和内容作为字典传给item
                                              item = {
                                                  'title': title,
                                                  'content': content
                                              }
                                              yield item
                                          

                                          帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                                          1 条回复 最后回复
                                          0
                                          回复
                                          • 在新帖中回复
                                          登录后回复
                                          • 从旧到新
                                          • 从新到旧
                                          • 最多赞同


                                          • 1
                                          • 2
                                          • 47
                                          • 48
                                          • 49
                                          • 50
                                          • 51
                                          • 576
                                          • 577
                                          Popular Topics - 热门主题
                                          • Bug! Bug !Google One 学生优惠 可无门槛验证
                                            mztcM
                                            mztc
                                            3
                                            14
                                            5.1k

                                          • 中国科技云免费白嫖1 年 Cursor 使用权!快~~~
                                            D
                                            d914954480
                                            1
                                            7
                                            2.0k

                                          • MySQL 8.0 OCP 限时免费考
                                            HebutMrLiuH
                                            HebutMrLiu
                                            1
                                            5
                                            346

                                          • 免费科技代理流量巨多
                                            孤
                                            孤傲的王
                                            1
                                            4
                                            134

                                          • 阿里云国际站轻量应用服务器 2C+1G+200M带宽 仅9.9美元一年!
                                            T
                                            Test
                                            1
                                            4
                                            1.2k

                                          • <海外剧>行尸走肉:死城 第二季[2025][惊悚 恐怖 冒险][附行尸走肉 系列全部]
                                            我是小马甲~M
                                            我是小马甲~
                                            1
                                            3
                                            24

                                          • 登录

                                          • 没有帐号? 注册

                                          • 登录或注册以进行搜索。
                                          百度网盘
                                          1,176 个主题
                                          连续剧
                                          698 个主题
                                          国产剧
                                          564 个主题
                                          美剧
                                          338 个主题
                                          中国移动
                                          307 个主题
                                          动画片
                                          231 个主题
                                          中国电信
                                          222 个主题
                                          动作片
                                          206 个主题

                                          100

                                          在线

                                          39.9k

                                          用户

                                          40.1k

                                          主题

                                          110.4k

                                          帖子
                                          • 第一个帖子
                                            最后一个帖子