Python twill:下载可通过 PHP 脚本访问的文件

2024-05-06

I use twill在受登录表单保护的网站上导航。

from twill.commands import *

go('http://www.example.com/login/index.php') 
fv("login_form", "identifiant", "login")
fv("login_form", "password", "pass")
formaction("login_form", "http://www.example.com/login/control.php")
submit()
go('http://www.example.com/accueil/index.php')

在最后一页上,我想下载一个 Excel 文件,该文件可以通过div具有以下属性:

onclick="OpenWindowFull('../util/exports/control.php?action=export','export',200,100);"

With twill我能够访问 PHP 脚本的 URL 并显示文件的内容。

go('http://www.example.com/util/exports/control.php?action=export')
show()

但是,会返回与原始内容相对应的字符串:因此无法使用。有没有办法以类似的方式直接检索Excel文件urllib.urlretrieve()?


我设法做到了从发送饼干罐twill to requests.

注意:我无法使用requests仅由于登录时的复杂控制(无法找出正确的标头或其他选项)。

import requests
from twill.commands import *

# showing login form with twill
go('http://www.example.com/login/index.php') 
showforms()

# posting login form with twill
fv("login_form", "identifiant", "login")
fv("login_form", "password", "pass")
formaction("login_form", "http://www.example.com/login/control.php")
submit()

# getting binary content with requests using twill cookie jar
cookies = requests.utils.dict_from_cookiejar(get_browser()._session.cookies)
url = 'http://www.example.com/util/exports/control.php?action=export'

with open('out.xls', 'wb') as handle:
    response = requests.get(url, stream=True, cookies=cookies)

    if not response.ok:
        raise Exception('Could not get file from ' + url)

    for block in response.iter_content(1024):
        handle.write(block)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python twill:下载可通过 PHP 脚本访问的文件 的相关文章

  • 帮助将二进制图像数据从 SQL Server 读取到 PHP 中

    我似乎无法找到将二进制数据从 SQL 服务器读取到 PHP 的方法 我正在开发一个项目 需要能够将图像直接存储在 SQL 表中 而不是文件系统上 目前 我一直在使用这样的查询 插入 myTable 文档 选择 从 OPENROWSET BU
  • Python 删除额外的特殊 unicode 字符

    我正在 python 中处理一些文本 它内部已经采用 unicode 格式 但我想删除一些特殊字符并用更标准的版本替换它们 我目前有一条看起来像这样的线路 但它变得越来越复杂 我发现它最终会带来更多麻烦 tmp infile lower r
  • Scikit-learn:如何获得 True Positive、True Negative、False Positive 和 False Negative

    我的问题 我有一个数据集 它是一个很大的 JSON 文件 我读取它并将其存储在trainList多变的 接下来 我对其进行预处理 以便能够使用它 完成后 我开始分类 我用kfold交叉验证方法以获得平均值 准确性并训练分类器 我做出预测并获
  • 如何将返回列表的 Celery 任务链接到一个组中?

    我想从 Celery 任务返回的列表创建一个组 以便对于任务结果集中的每一项 一个任务将添加到该组中 这是一个简单的代码示例来解释用例 这 应该是上一个任务的结果 celery task def get list amount In rea
  • Python NameError,变量“未定义”

    它返回的错误是 NameError name lives is not defined 我知道代码并不是尽可能高效 这是我的第一个项目 但是无论我尝试做什么 都会弹出这个错误 我尝试为其创建一个全局变量 但这没有帮助 我真的很感激一些帮助
  • 匹配字典集。最优雅的解决方案。 Python

    给定两个字典列表 新的和旧的 字典在两个列表中表示相同的对象 我需要找到差异并生成新的字典列表 其中仅包含新字典中的对象和旧字典中的更新属性 例子 list new id 1 name bob desc cool guy id 2 name
  • BeautifulSoup - 抓取论坛页面

    我正在尝试抓取论坛讨论并将其导出为 csv 文件 其中包含 线程标题 用户 和 帖子 等行 其中后者是每个人的实际论坛帖子 我是 Python 和 BeautifulSoup 的初学者 所以我对此感到非常困难 我当前的问题是 csv 文件中
  • 添加和完成 PHP 源代码文档的工具 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有几个已完成的较旧的 PHP 项目 其中有很多内容 我想以 javadoc phpDocumentor
  • 在包含缺失值的 Pandas 数据框列上使用 apply 和 lambda 函数

    这是这个问题的后续 如何根据 pandas 数据框中其他列中的子字符串创建新列 https stackoverflow com questions 70086559 how to create new column based on sub
  • 如何将当前登录的用户指定为模型字段的默认值?

    我想做这样的事情 class Task models Model created by models ForeignKey User default LoggedInUser blank True null True related nam
  • TCPDF 为一个文档中的不同页面设置不同的页眉

    有没有办法使文档中第一页的页眉徽标和第二页的页眉徽标不同 我认为在添加页面之间更改标题数据可能会解决问题 但在我的测试中 添加第一页后设置标题似乎没有效果 other stuff pdf gt setHeaderFont array PDF
  • 标记 pandas 系列中连续的 True 元素组

    我有一系列的 pandas 布尔值 我想标记连续的 True 值组 怎么可能做到这一点 是否可以以矢量化的方式做到这一点 任何帮助将不胜感激 Data A 0 False 1 True 2 True 3 True 4 False 5 Fal
  • PHP 生成文件供下载然后重定向

    我有一个 PHP 应用程序 它创建一个 CSV 文件 强制使用标头下载该文件 这是代码的相关部分 header Content Type application csv header Content length filesize NewF
  • Python代码检测OS X El Capitan中的暗模式以更改状态栏菜单图标

    我有目标 C 代码来检测暗模式以更改状态栏 NSDistributedNotificationCenter defaultCenter addObserver self selector selector darkModeChanged n
  • 需要帮助编写扭曲的代理

    我想编写一个简单的代理 可以对请求页面正文中的文本进行打乱 我已经阅读了 stackoverflow 上的部分扭曲文档和其他一些类似的问题 但我有点菜鸟 所以我仍然不明白 我现在就是这样 不知道如何访问和修改页面 from twisted
  • Scapy TCP 校验和重新计算奇怪的行为

    我正在尝试进行 TCP ACK 欺骗 我从 pcap 文件中嗅探一个 ACK 数据包 并在循环中发送它 增加其 ACK 编号以及另一个选项字段 嗅探部分 预欺骗 from scapy all import from struct impor
  • Python Flask 不更新图像[重复]

    这个问题在这里已经有答案了 这里有一些关于图像的 Flask 问题 但没有一个能解决我的问题 我有一个应用程序可以创建图像 保存它 然后显示它 一次 它应该多次执行此操作 每次更改图像时 它应该加载新图像 它不是 它只显示与其显示的文件名关
  • openpyxl:为一系列 Excel 单元格分配值或应用格式而不进行迭代

    我想应用特定格式或为一系列 Excel 单元格分配一个值 而不需要迭代每个单元格 我目前正在使用这个脚本 from openpyxl import Workbook from openpyxl styles import Font wb W
  • 无法让我的脚本自动生成一些值以在有效负载中使用

    我创建了一个脚本 通过随后发送两个 https 请求来从目标页面获取 html 元素 我的脚本可以完美地完成这件事 但是 我必须从 chrome 开发工具复制四个值来填充其中的四个键payload为了发送最终的http请求到达目标页面 这是
  • 类型错误:“生成器”对象没有属性“__getitem__”

    我编写了一个应该返回字典的生成函数 但是当我尝试打印字段时出现以下错误 print row2 SearchDate TypeError generator object has no attribute getitem 这是我的代码 fro

随机推荐

  • 使用自定义验证器进行 ASP.Net 字数统计

    我正在处理的 ASP Net 2 0 项目的要求将某个字段限制为最多 10 个单词 不是字符 我当前正在使用带有以下 ServerValidate 方法的 CustomValidator 控件 Protected Sub TenWordsT
  • maven 的 was6 插件可以与 WAS 7 一起使用吗

    据我所知 WAS 7 没有特定的 Maven 插件 所以我想知道 was6 maven plugin 是否可以与较新版本的服务器一起使用 我问了 IBM 同样的问题 官方是的 实际上 Jar Hell 会给你带来一些问题 如果我是你 我会花
  • 将 TabLayout 固定到工具栏 Scrollview 的顶部和下方

    我想在滚动时固定 TabLayout 我已经尝试过 代码 但无法将 TabLayout 固定在工具栏下方 在这个我有工具栏 下面有滚动视图 在滚动视图内我有很多布局 我想固定位于 ViewPager 上方 底部 的 TabLayout 当我
  • 在 postgres 中选择时保留顺序[重复]

    这个问题在这里已经有答案了 在 psql 中 至少在 v9 中 如果我这样做 select id from users where id in 2 1 1 and select id from users where id in 1 2 它
  • D3.js 中的点图

    我有兴趣创建一个Dot plot 每个数据值都有连续的点 但到目前为止我所管理的是为每个值创建一个点 更清楚地说 假设对于 array1 我希望第一个值创建 5 个圆圈 第二个值创建 4 个圆圈 依此类推 array1 5 4 2 0 3
  • 获取在电池电量降至 0% 之前我还有多少时间 Android

    我能知道电池电量降至 0 之前还有多少时间吗 使用的东西CountDownTimer并计算一下电池消耗了多少毫安时 有人可以帮我做吗 您无法准确猜测电池还剩多少时间放电 您只能做一些估计 您可以通过注册接收器进行操作 在广播接收器的帮助下获
  • matplotlib 中的背对背直方图

    有一个很好的函数可以绘制背靠背直方图 http www mathworks co uk matlabcentral fileexchange 23312在Matlab中 我需要在 matplotlib 中创建一个类似的图表 谁能展示一个有效
  • 在 IntelliJ 中设置 Glassfish 配置时出现“管理端口配置未找到”错误

    在 IntelliJ IDEA 中设置 Glassfish 时 我收到以下错误消息 未找到管理端口配置 现在我到处搜索 但没有找到可以设置管理端口的地方 搜索谷歌我发现的是JavaRanch 上的死链接 http www coderanch
  • 即使在签出到另一个分支后也无法删除本地分支

    我正在尝试删除我的本地分支并尝试了我在这里找到的大多数解决方案 即签出到另一个分支然后运行git branch D or d
  • 如何快速更改 SKSpriteNode 的颜色?

    我创建了一个游戏SKSpriteNode那是黑色的 当用户触摸屏幕时我想要SKSpriteNode更改为白色 我已经用谷歌搜索了一切 并尝试了很多不同的策略 但没有成功 有谁知道如何做到这一点 这是我的场景的代码 var blackBird
  • 将 ART.xcodeproj 添加到 Library 后 Xcode 崩溃

    我正在使用 React Native 开发一个应用程序 将 ART xcodeproj 添加到 Library 后 Xcode 崩溃了 这是版本信息 版本 9 0 beta 4 9M189t Some 崩溃的日志如下 Process Xco
  • 通过鼠标和触摸在画布上绘图

    我想在画布上绘图 使用鼠标效果很好 但我必须如何修改代码才能使其在 iPad 或 Nexus 上运行 link http jsfiddle net FgNQk 6 var canvas document getElementById can
  • PHP-MySQL 或 MySQLi 中哪个最快?

    我想知道是否有人对这种二分法有任何第一手经验 一些博客说 mysql 扩展比 mysqli 更快 这是真的 我只是问速度 我知道 mysqli 具有旧扩展中不存在的功能 在我看到的大多数基准测试中 MySQL 扩展比 MySQLi 稍快一些
  • 无逻辑模板(例如胡子)有什么优点?

    最近 我遇到了mustache http mustache github com 据称是无逻辑模板 然而 没有解释为什么它是以无逻辑的方式设计的 换句话说 无逻辑模板的优点是什么 换句话说 它可以防止你搬起石头砸自己的脚 在过去的 JSP
  • .NET VM 是编译器还是解释器?

    NET 的虚拟机是编译 CIL 字节码 然后在最低级别 CPU 汇编程序 执行代码 还是解释器 读取以下指令并执行它们 NET 的虚拟机吗 编译 CIL 字节码 然后 在最低级别执行代码 CPU 汇编器 是的 它是 CLR 的一个组件 称为
  • 如何计算两个字符串向量之间的余弦相似度

    我有 2 个维度为 6 的向量 我想要一个介于 0 和 1 之间的数字 a c HDa 2Pb 2 BxU BuQ Bve b c HCK 2Pb 2 09 F G 谁能解释我应该做什么 使用lsa包和该包的手册 create some f
  • 从我的应用程序阻止/取消阻止应用程序:Android

    我想从我的应用程序阻止 取消阻止 用户无法使用 访问被阻止的应用程序 Android 设备中的某些应用程序 但我找不到任何解决方案 想法 I read Android如何以编程方式隐藏启动器图标 https stackoverflow co
  • Codeigniter 分页不呈现分页链接

    你好我有以下代码 this gt load gt library pagination this gt data products this gt products model gt get products and category th
  • 声纳+MS SQL数据库

    我正在尝试使用 mssql 服务器数据库初始化声纳 但我不能 使用 Microsoft SQL Server Management Studio 我创建了用户名 sonar 和密码 sonar 的用户 并向同时创建的 sonar 数据库授予
  • Python twill:下载可通过 PHP 脚本访问的文件

    I use twill在受登录表单保护的网站上导航 from twill commands import go http www example com login index php fv login form identifiant l