job_res = [] for page in range(1, 21): url = job_url.format(_page=page) job_res.extend(job_request(url))
时间: 2023-04-11 18:01:29 浏览: 43
这是一个Python代码片段,其中使用了一个空列表job_res和一个for循环来遍历1到20的页数,然后使用.format()方法将页数插入到job_url中,生成每一页的URL,最后使用extend()方法将每一页的职位请求结果添加到job_res列表中。
相关问题
@app.route("/jobdata", methods=['POST']) def jobdata(): edus=db.session.query(Recruitersnumbers.job_name).filter().limit(5).all() edulist=[] for edu in edus: edulist.append(edu.job_name) recruitersnumbers = db.session.query(Recruitersnumbers.job_name,Jobsalarylevel.salary,Jobsalarylevel.count).join(Jobsalarylevel,Recruitersnumbers.job_name==Jobsalarylevel.job_name)\ .filter(or_(Recruitersnumbers.job_name==edulist[0],Recruitersnumbers.job_name==edulist[1],Recruitersnumbers.job_name==edulist[2],Recruitersnumbers.job_name==edulist[3],Recruitersnumbers.job_name==edulist[4]))\ .order_by(Jobsalarylevel.job_name,Jobsalarylevel.salary) list_ = [] for x in recruitersnumbers: data={ "job_name":x.job_name, "salary":x.salary, "count":x.count } list_.append(data) return jsonify(list_)
这是一个 Flask 路由函数,当以 POST 方法访问 "/jobdata" 路径时,会执行以下操作:
1. 查询数据库中的 "Recruitersnumbers" 表,获取前 5 条记录的 "job_name" 字段值。
2. 将查询结果存储在列表 "edulist" 中。
3. 使用 SQLAlchemy 的联接操作,查询 "Recruitersnumbers" 表和 "Jobsalarylevel" 表,并根据条件筛选出与 "edulist" 中的职位名称匹配的记录。
4. 将查询结果按照 "job_name" 和 "salary" 进行排序。
5. 遍历查询结果,将每条记录中的 "job_name"、"salary" 和 "count" 存储在字典 "data" 中,并将字典添加到列表 "list_" 中。
6. 将列表 "list_" 转换为 JSON 格式并返回。
这个路由函数的作用是返回根据职位名称和薪资等级筛选的数据结果,可以在前端进行展示或进一步处理。
select a.job_id, a.job_name, a.job_group, a.invoke_target, a.cron_expression, a.misfire_policy, a.concurrent, a.status, a.create_by, a.create_time, a.remark, a.job_des, a.cron_des, b.status as last_execute_status, b.create_time as last_execute_time from sys_job a left join sys_job_log b ON a.job_name = b.job_name and a.job_group = b.job_group where b.create_time = (select max(create_time) from sys_job_log c where a.job_name = c.job_name and a.job_group = c.job_group) or b.create_time is null 此SQl为Oracle运行环境,因为sys_job_log有create_time相同的数据导致了数据重复,如何解决
可以在子查询中增加一个条件,筛选出除了最大create_time之外的数据,即:
```
select a.job_id, a.job_name, a.job_group, a.invoke_target, a.cron_expression, a.misfire_policy, a.concurrent, a.status, a.create_by, a.create_time, a.remark, a.job_des, a.cron_des, b.status as last_execute_status, b.create_time as last_execute_time
from sys_job a
left join sys_job_log b ON a.job_name = b.job_name and a.job_group = b.job_group
where b.create_time = (select max(c.create_time) from sys_job_log c where a.job_name = c.job_name and a.job_group = c.job_group and c.create_time < b.create_time) or b.create_time is null
```
这样可以避免重复数据的问题。