问题标签 [querypath]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 查询路径,php 5.2
我在我的 PHP 中使用 Querypath。由于我的 linux 是不再支持的 Debian Lenny,我不知道如何将其更新为 debian Squeeze。我无法更新它的 php,因为 Lenny 不存在它(对于我阅读的内容)。
使用 Querypath 我得到这个错误:
解析错误:语法错误,意外的 T_FUNCTION,在第 61 行的 /var/www/vhosts/company/httpdocs/2013/inc/qp.php 中需要 ')'
这条线是:
你知道吗,我可以把它转换成“PHP Version 5.2.6-1+lenny13”吗?
php - 为什么我的 PHP QueryPath 2.1.2 WAMP 抓取脚本只返回 5 篇文章而不是 43 篇?超时?
我试图从我的博客中抓取 43 篇博客文章并将它们存储在数组中,但是当我 print_r 数组时它只返回前 5 个 [其余为空] 而不是全部 43 个。为什么?我怎样才能得到所有 43 个?我从 WAMP 上的 cmd.exe [命令行] 运行此脚本。
在数组的第 5 个键之后,所有值都是空的。[我无法从笔记本电脑或网络上传图像,因此这里是 cmd.exe 屏幕截图的链接] http://img546.imageshack.us/img546/6092/cmdafter5arrayisempty.jpg
我显然是一个初学者,所以任何建议如何使这段代码更简洁或如何更好地完成我的抓取原型将不胜感激。也欢迎所有建设性的批评:-P
php - 从 QueryPath 访问 OpenAmplify 时,我的 HTTP 请求失败/超时。为什么?
当我从 WAMP 上的 cmd.exe [命令行] 运行此脚本时,我得到:
当我通过 Firefox 浏览器 [v 19.0] 从 localhost 运行此脚本时,我得到:
这是我使用的脚本:
我怎样才能使这项工作?
PS Open Amplify 是一个 Web 服务,它获取提供的文本并在对其进行分析后,返回许多关于它的有趣内容。我真的很想完成这项工作并且是 QueryPath 的忠实粉丝,所以我只对如何使它与 QueryPath 一起工作的建议感兴趣!
php - 当我使用 PHP QueryPath 2.1.2 修改 docx xml 文件 [document.xml] 时,实际 test1.docx 文件中的更改不可见,为什么?
我正在尝试学习如何使用 PHP [QueryPath] 修改 .docx 和 .odt 文件,当我从 WAMP 上的 cmd.exe [command line] 运行此脚本 [below] 时,在命令行上它显示了我想要的更改已经完成并且标签内的所有文本都已更改,但是当我打开一个实际的 docx 文件或其 xml 等效文件时 - 没有进行任何更改。为什么?我该如何纠正这个问题?提前致谢。
php - 如何使用 PHP QueryPath 从 MySQL SELECT 查询结果中提取文本/字符串,而不会获得我得到的“额外 HTML”?
我创建了一个小型测试数据库,如下所示:
然后我写了一个简单的 QueryPath 脚本,如下所示:
现在,我需要我得到的查询的字符串[文本值] [即我得到我想要的,然后我将其用作 web/excel/csv/etc 上 html 文本表单的输入],但问题是,当我从命令行运行这个脚本时,我得到了我不需要的额外的 HTML 代码/文档块,即输出如下所示:
所以基本上我想要的是“马特”,这是我得到的,但我也得到了所有这些“额外”,你可以看到我不想要的。有谁知道如何只提取“马特”?
我显然不能直接从 MySQL 查询中提取文本,因为它是一个资源/对象,所以有人知道一种方法/破解它吗?QueryPath 或 No QueryPath 很好 [虽然 QueryPath hack 更好!]
php - QueryPath 查找具有命名空间属性的元素
我没有找到一种方法来检索所有具有属性的元素ec:edit
。我只找到了获取命名空间元素的示例,但没有找到属性。
attr()
使用或搜索属性时也没有结果hasAttr()
。
dbpedia 示例:
rdf 文件示例:
但这不会检索任何结果:
样本数据:
我什么都得不到。
php - 致命错误:未捕获的异常 'QueryPath\ParseException' 命名空间错误:
我正在使用 QueryPath 来解析 Chimpmail 的电子邮件模板(https://github.com/mailchimp/Email-Blueprints),但是当我尝试附加一个带有“mc:repeatable”属性的 tr 时,我收到了这个错误:
有没有办法告诉 QueryPath 不要尝试解析命名空间?
php - 在 PHP 中使用 QueryPath 获取无样式文本
在使用 HTML Simple Dom 很长一段时间后,我才开始掌握 QueryPath,并且发现 QP 文档似乎并没有为它的所有功能提供太多示例。
目前我正试图从一个没有太多使用 ID 或类的 HTML 文档中检索一些文本,所以我有点超出了我的舒适区。
这是HTML:
我正在考虑选择“box-blue”类作为起点,然后从那里下降。问题是 HTML 文档中可能有任意数量的 box-blue 类。
因此,我在想,也许我应该尝试使用 alt="Location" 选择图像,然后使用 ->next()->text() 或类似的东西?
到目前为止,我已经尝试了大约 15 种变体,但都没有得到我需要的文本。
非常感谢您的帮助!
php - 如何忽略来自 QueryPath 的 PHP 可捕获的致命错误?
我正在使用 QueryPath 从网站上抓取一些数据。但是,我经常收到下面的错误消息并且脚本终止。
该错误没有给我任何关于错误来自我的代码行的任何线索,但假设它来自$outHtml = htmlqp($outHtml);
我尝试在 htmlqp 命令前加上@htmlqp
.
这没有用,所以我尝试将 htmlqp 包装在一个 catch{} 语句中,这似乎也没有帮助。
我想做的就是忽略错误并继续,而不是让脚本爆炸。帮助!
php - 无法从 QueryPath 捕获“可捕获的致命错误”
我有一个脚本可以抓取一些旧的 HTML。它每天大约 1000 页,并且由于某种原因它经常阻塞并抛出以下错误:
起初我以为是调用 htmlqp($html) 时产生了错误,但我将它包装在 try{} 语句中,它没有捕获任何内容:
更新:
我通过使用 @ 来查看脚本何时终止而没有错误,找到了有问题的代码行。就是这一行:
当它爆炸时,它甚至没有回声“大垃圾场”,所以它似乎真的没有抓住它。
我想知道这是否可能是 QueryPath 的错误处理而不是我自己的错误?