鱼C论坛

 找回密码
 立即注册
查看: 1767|回复: 8

获取网页post响应数据的方法(修改标题)

[复制链接]
发表于 2020-9-29 14:14:25 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 huashengzi 于 2020-9-30 10:36 编辑

如题,请教大神
对于有子框架的网页,直接查看页面源代码只能看到主页面的代码,子框架的代码看不到。

urllib能否爬取有子框架的页面的内容,我试了只能读到主页面的内容

更新于9/30
我的实际应用场景特殊的一点,就是每次都点一次注册的按钮,页面会显示  '成功'   或者    ‘失败’ 在界面上,但是如果刷新了,或者重新打开一个界面,这个文字就不会再出现,
而我现在正是想读取这个 ‘成功’  或者 ‘失败’  的字符。

问题2
urllib.request 发出访问请求,相当于刷新页面么?

9/30 10:25  再次更新问题
我需要的数据时再 POST里面的响应数据,其实我不太懂
POST里面的数据时先必须要发送表单内容才会有返回的是么,也就是我点击注册的时候,浏览器会把我们前面填好的内容发送给服务器
但是我用python模拟发送的时候,不可能每次都是填表单,这样也就无法获得同样返回的POST的数据了,是这样么?,而随便乱写的表单肯定返回是‘’失败的。
有没有办法直接获得上一次的浏览器发出的这个POST的响应的数据呢?

如果用网络监控抓包,那么我平均每2s就会点一次注册,每<2秒内我就要知道一次 ‘成功’  还是 ‘失败’ 的返回值,这个可行么?(必须让程序知道,程序还要控制后面的动作)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-29 17:20:14 | 显示全部楼层
本帖最后由 城中城 于 2020-9-29 17:21 编辑

我只知道selenium处理方式
from selenium import webdriver
#导入动作链对应的类
from selenium.webdriver import ActionChains
from time import sleep

driver = webdriver.Chrome()
driver.get("http://www.runoob.com/try/try.php?filename=jqueryui-api-droppable")

#如果定位的标签是存在于iframe标签之中的则必须通过如下操作在进行标签定位
driver.switch_to.frame('iframeResult')#切换浏览器标签定位的作用域   frame id 为 iframeResult
div = driver.find_element_by_id('draggable')

可以访问子网页
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-29 17:23:08 | 显示全部楼层
from selenium import webdriver
from time import sleep

driver = webdriver.Chrome()
driver.get('https://qzone.qq.com/')

driver.switch_to.frame('login_frame')
a_tag = driver.find_element_by_id('switcher_plogin')
a_tag.click()


qq空间点击账号密码访问
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-29 17:27:13 | 显示全部楼层
发url
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-29 19:58:37 | 显示全部楼层
我知道iframe框架下的数据可以通过网页抓包访问api获得json数据来实现
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-29 20:00:44 | 显示全部楼层
网易云音乐的歌单就是这样抓取的,你可以再论坛里面搜索一下代码,授人于鱼不如授人与渔,自己琢磨出来的下次才会知道如何解决
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-30 07:57:16 | 显示全部楼层
城中城 发表于 2020-9-29 17:20
我只知道selenium处理方式

谢谢回复,我也知道这个,但是我的实际应用场景是,点击页面上的注册按钮以后,会返回 ‘成功’ 或者‘失败’ 的文字在界面上,但是如果用selenium 重新打开界面,这个文字就没有了,感觉这个方法也不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-30 07:58:09 | 显示全部楼层

抱歉,这是我们公司内网的地址,外部是连不上的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-30 10:18:01 | 显示全部楼层
huashengzi 发表于 2020-9-30 07:57
谢谢回复,我也知道这个,但是我的实际应用场景是,点击页面上的注册按钮以后,会返回 ‘成功’ 或者‘失 ...


那就需要抓包了,抓取当你点击注册成功的时候,出现的文件一个个看过去了
首先需要把Preserve log
勾选,可以保留文件,不被删除
ps urllib模块不适用了,requests这个模块更方便
A6CF7D1C-F562-4168-BC74-A3866DD53801.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-18 13:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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