问题标签 [simple-html-dom]

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.

0 投票
2 回答
279 浏览

php - 简单的 html dom 返回带有一些 URL 的奇怪结果

我正在使用简单的 HTML DOM,在某些网站上使用它时会得到奇怪的结果。

这是它从此链接生成的 HTML 输出

我检查了来源,这是一团糟。

每当我尝试在此站点上使用它时它也会挂起同样,HTML 是一团糟。

有任何想法吗?

编辑:添加代码块:

下面的$str变量是在我的 CURL 请求中的代码中定义的。

我正在使用 CURL 请求

0 投票
1 回答
1491 浏览

php - 简单的 HTML DOM 解析器不更新

我正在为我自己的模板系统使用简单的 HTML DOM 解析器并发现了一个问题。

这是我的标记:

我正在用自己的内容替换 div.navigation,例如:

效果很好 - 我可以回显它,但问题是 - 在回显之前我仍然想使用解析器访问/操作该链接,但解析器找不到它。

将返回 null :(

似乎在更改外部文本后需要刷新/更新解析器 - 如果可能的话有什么想法吗?

0 投票
2 回答
813 浏览

php - html DOM 只抓取最大的图像

我有一个小书签,它查看页面并提取所有图像供用户查看。

现在,大多数情况下,用户会点击带有特定产品的页面,可能来自 ebay 或亚马逊等 - 理想情况下,我想显示产品的实际图像,而不是每个徽标/按钮等,但是如何?

我知道他们不会像这样将它们包装在标签中,还有其他方法吗?

也许按大小?以像素为单位的图像大小和/或文件大小?(无论如何这是否具有指示性?这是一个假设)

如果你使用上面的代码,两个例子可以让你明白我的意思(你必须得到 simple_html_dom.php)

亚马逊示例 ebay 示例

更新

亚马逊实际上做了一些我发现的类似的事情——它永远不可能完美,因为你依赖所有的开发人员写同样的东西,这不会发生!这最接近我需要的功能。它不仅刮取最大的图像,而且似乎只刮取与物品相关的图像,聪明的东西?

亚马逊愿望清单按钮

0 投票
1 回答
569 浏览

php - html dom 解析 - 我只能找到文件类型吗?

在解析页面内容时,我只想列出图像,但宁愿通过文件扩展名找到它们,因为我可能只想要 jpg 而不是 png。

我知道我可以这样做来列出 src 标记中的所有图像,但我只想要上面详述的图像:

我已经阅读了在线文档,但没有提到如何/是否可以这样做?

更新

这是我目前使用的代码:

0 投票
2 回答
105 浏览

php - 为什么这个 foreach 失败了?

我正在使用“获取”一个 html 页面并解析的脚本仅显示其中的 .jpg 图像,但我需要进行一些修改,当我这样做时它就失败了......

这有效:

但是,有一些问题......我只想显示超过一定尺寸的图像,加上一些网站没有在 img 标签中显示完整的 URL,所以也需要尝试解决这个问题......所以我已经完成了下列的:

这有效,但只返回第一张图像。

在下面的示例链接中有 5 个图像,第一个代码显示但不显示它们,因为 src 没有前导域

如上所述的示例链接

有一个更好的方法吗?为什么循环会失败?

0 投票
2 回答
167 浏览

php - 我怎样才能加快速度?

我有一个脚本,我认为它是非常基本的抓取,随便你怎么称呼它,但它平均至少需要 6 秒……是否可以加快速度?$date 变量仅用于对代码进行计时,并且不会增加任何重要的时间。我设置了两个计时标记,每个标记之间大约 3 秒。下面的示例 URL 用于测试

示例网址

更新

这实际上是时间标记显示的内容:

时间开始 01/24/2012 12:31:50 am

在 geturl 2012 年 1 月 24 日上午 12:31:50 之后

在 file_get_url 2012 年 1 月 24 日上午 12:31:53 之后

计时结束 01/24/2012 12:31:57 am

0 投票
1 回答
1951 浏览

php - 使用 simple-html-dom-parser 从 $element 返回单个项目

新的 simple-html-dom-parser 并且有一个问题。

假设$element是一个数组,我怎样才能从数组中返回一个特定的项目(在这种情况下是一个图像)。我已经尝试过$element[1]$element->childNodes ([1])但无济于事。

简单 html-dom-parser api

0 投票
0 回答
609 浏览

php - 使用 php 在 Wordpress(和其他地方)中进行 DOM 操作

我对 DOM 操作世界很陌生,为了避免常见错误,我想抢先一步。

我正在寻找使用 php 操作 wordpress 生成的内容的最有效方法。目前我正在使用简单的 HTML Dom,它似乎工作得很好。但是,我最近发现了 DOMDocument 和其他一些文档,如果有人清除了哪个更快、更好或者至少在标记非常糟糕的情况下会产生更少的错误,那将非常有帮助。

另外,有人可以解释一下这种语法是什么(而不是 $html 这个@$html)

非常感谢

0 投票
4 回答
784 浏览

php - 将 simple_html_dom 变量放入数组

我正在尝试使用 simple_html_dom 从网站中提取一些信息。

目前我正在使用:

哪个工作正常。但是,我需要能够在 foreach 循环之外回显每个变量。如果我使用上面的代码这样做,则只会显示最终结果,即在我尝试提取的 10 个产品中,只会显示第 10 个。

有没有一种方法可以使用数组来存储每个 foreach 循环的所有结果,然后在整个循环完成后将它们回显出来?

像这样的东西:

抱歉,如果这个问题令人困惑,我对 PHP 没有最好的掌握,尤其是数组!

0 投票
2 回答
7337 浏览

php - How can I extract content of a specific div from a webpage?

I want to load content of a specific div with class='box' from a webpage, and I used Simple HTML DOM for this. but I can't write a clear pattern for preg_match, here is my php code:

Please help me to write a right pattern for preg_match