鱼C论坛

 找回密码
 立即注册
查看: 1217|回复: 12

python代码优化求大神

[复制链接]
发表于 2019-1-24 17:14:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
python中有这样一个场景,我用request get请求一个api,地址是/api?key=123&u=10(这个是第一页,带两个参数),返回的是json里面带一个‘page’的字段,要想获得下一页必须要带这个page ,地址就是/api?key=123&u=10&page=jhii4o3k32  (这个是下一页,有三个参数) 这个page是一串随机数,不是123456....,每次点下一页他都是实时生成的, 每次都不一样,哪位大神帮我写一下这个逻辑,虽然我用了7个函数100余行写出来了,但是很明显违背了python简洁美的特点,先谢了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-1-24 17:23:23 | 显示全部楼层
不能提取page吗,作为参数传到下一次的api地址吗?有具体网址吗?爬什么的?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-24 19:00:35 | 显示全部楼层
好迷糊的问题。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-24 21:53:47 | 显示全部楼层
Stubborn 发表于 2019-1-24 17:23
不能提取page吗,作为参数传到下一次的api地址吗?有具体网址吗?爬什么的?

主要是第一页不需要page  
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-24 21:55:48 | 显示全部楼层
新手·ing 发表于 2019-1-24 19:00
好迷糊的问题。。

写的很清楚了吧  哈哈  表达不行 见谅!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-24 22:11:45 | 显示全部楼层
  1. def main():
  2.     res = requests.get(url=url,headers=headers).json()
  3.     page = res['page']
  4.     for item in res['data']:
  5.         print(item)
  6.     time.sleep(1)
  7.     next(page)

  8. def next(page):
  9.     response = requests.get(url=url+'page={}'.format(page),headers=headers).json()
  10.     pt = response['page']
  11.     print(pt)
  12.     for item in response['data']:
  13.         print(item)
  14.     time.sleep(1)
  15.     next(pt)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-24 22:19:15 | 显示全部楼层
silence181 发表于 2019-1-24 21:53
主要是第一页不需要page

给个网页链接看看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-24 22:46:18 | 显示全部楼层
Stubborn 发表于 2019-1-24 22:19
给个网页链接看看

学校的内网 ,外面打不开  你看下 我最后回复的这样  
我想把这个弄到django里面点一下显示下一页  不知道怎么弄
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-24 22:53:53 | 显示全部楼层
silence181 发表于 2019-1-24 22:46
学校的内网 ,外面打不开  你看下 我最后回复的这样  
我想把这个弄到django里面点一下显示下一页  不知 ...


或者你发1-5页的,api地址我看看吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-25 03:34:52 From FishC Mobile | 显示全部楼层
你的page是js生成的,还是html中能采集?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-26 20:58:06 | 显示全部楼层
本帖最后由 silence181 于 2019-1-26 20:59 编辑
Stubborn 发表于 2019-1-24 22:53
或者你发1-5页的,api地址我看看吧


http://125.92.41.80/api?apikey=450038957&kw=python
这个是第一页的地址  返回一个json  包含一个数据的列表  和 page  这个page就是请求下一页要带的参数 下一页的地址是  http://125.92.41.80/api?apikey=4 ... p;page=bjkj34353jkj   然后这个返回的page就是下下页的参数

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-26 22:27:33 | 显示全部楼层
silence181 发表于 2019-1-26 20:58
http://125.92.41.80/api?apikey=450038957&kw=python
这个是第一页的地址  返回一个json  包含一个数 ...

原谅帮不到你,或者贴代码我看看,能不能优化。顺便问一句,多线程会不会?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-31 09:14:20 | 显示全部楼层
Stubborn 发表于 2019-1-26 22:27
原谅帮不到你,或者贴代码我看看,能不能优化。顺便问一句,多线程会不会?

不会 才学的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-13 14:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表