如何在 php 中获取部分从 jquery 加载的页面的整个 html

2023-12-30

我这问题好几天了... 我必须从 php 加载页面的整个 html。 在此页面上有一个 jquery 函数,当所有页面加载完毕时会调用该函数。这个函数将其他html加载到页面中,所以我必须加载所有html(也加载了jquery的部分)。我可以知道我得到了所有页面试图找到一些仅从 jquery 加载的标签。 (例如:名称为XXX的标签输入、属性为倍数的标签输入等)

所以我尝试:

$html = file_get_contents("http://wwww.siteToScrape.com");
if (strpos($html, 'multiple') !== false) {
    echo 'found';
} else {
    echo 'not found';
}

但结果是“未找到”。

然后我下载了简单的 html dom http://simplehtmldom.sourceforge.net/我尝试:

include 'simple_html_dom.php';
$html = file_get_html("http://wwww.siteToScrape.com");
if (strpos($html, 'multiple') !== false) {
    echo 'found';
} else {
    echo 'not found';
}

但结果仍然是“未找到”。

所以我想得到一些模拟浏览器的php脚本(这样也可以加载jquery)并且我下载了PHP 脚本化 Web 浏览器 http://simpletest.org/en/browser_documentation.html我尝试:

require_once('browser.php');
$browser = new SimpleBrowser();
$p = $browser->get('http://wwww.siteToScrape.com');
if (strpos($p, 'multiple') !== false) {
    echo 'found';
} else {
    echo 'not found';
}

但结果仍然是“未找到”。 我不知道该怎么做。有人可以帮助我吗???谢谢!!!!


问题是您正在尝试混合服务器和客户端。

PHP在服务器上运行 Javascript(因此还有 jQuery)在客户端浏览器中运行。

使用 PHP 运行 javascript 没有简单的方法。据我所知,这是不可能的。其他语言(例如 Java)也许能够完成您想要做的事情。

您应该考虑另一种方法来做到这一点。

这也是网络爬虫永远不会受到您使用 JavaScript 所做的事情影响的原因。在开发时记住这一点是一件好事。你的动态加载根本不会被这些爬虫索引。

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

如何在 php 中获取部分从 jquery 加载的页面的整个 html 的相关文章

随机推荐

  • CFHTTP:第一个请求快,后续慢

    目前我在使用 CF10 的 CFHTTP 时遇到了很多麻烦 首先 我的测试脚本
  • Symfony2 学说强制转换为十进制

    我在 Symfony2 中使用 Sonata Admin Bundle 并有一个自定义过滤器 在数据库中 列是浮动的 无法更改 如果输入 1333 33 将不会有结果 一种解决方案是使用 CAST CAST o price AS DECIM
  • C for 循环突然停止[重复]

    这个问题在这里已经有答案了 我试图读取图中两个节点之间的距离并将其存储在数组中 但循环无法按预期工作 它突然停止了 Output Edge Number 4 Enter distance between two nodes Example
  • 如何保存具有列表视图的片段的状态

    这是一个情况 我想从片段 A gt B gt C 导航 B Fragment中有listview 在项目上单击我打开详细视图 C 片段 当然 我使用了替换方法并在从 B 到 C 的事务处理时添加了 addtoBackStack null 以
  • 如何更改 iOS 7 中 tabBarItems 的文本和图标颜色?

    如何更改 iOS 7 中 UITabBar 和 UITabBarItems 的文本和图标颜色 对于未选择的选项卡栏项目 默认的灰色文本看起来很暗且难以阅读 为此 您需要做两件事 1 如果要自定义TabBar本身 需要为tabBarContr
  • 使用 Spring Data 将 DBObject 插入 MongoDB

    我尝试使用 Spring Data 将以下 DBObject 插入 MongoDB BasicDBObject document new BasicDBObject document put country us document put
  • 在 Visual Studio 中使用 NLog 设置具有多个项目的 C# 解决方案

    我在 Visual Studio 2012 中的解决方案当前包含两个项目 DLL WPF 应用程序 需要 DLL 的方法 DLL 和 WPF 应用程序都使用NLog用于记录 目前每个项目都包含NLogDLL 本身 这是我不明白的地方 对我来
  • 背景图像未显示在 Heroku 中

    我在本地使用的 Heroku 网站的背景图像有问题 background image url background stripe png 有效 但部署后文件已损坏 我尝试过使用 background image image url back
  • VBA:如何仅保留字符串中的日期值?

    我有一个下面的字符串 想知道如何从中提取日期值并将它们存储在单独的单元格中 11AUG2016 更改 gggqqq2i8yj 29SEP2016 删除 tyijdg298 30SEP2016 添加 mkdjenb200 03OCT2016
  • 报告不确定性:给定平均值和标准误差,仅显示有效数字

    目的是显示多次观察的结果 而不需要 不必要的数字 即用 与给定一致的有效数字位数 不确定 For example if computed mean 123 45 and err 0 0012345 then the expected out
  • 如何使用 Golang 将文件添加到现有 zip 文件

    我们可以创建一个 zip 新文件并使用 Go 语言添加文件 但是 如何使用 GoLang 添加带有现有 zip 文件的新文件 如果我们可以使用Create函数 如何获取zip writer引用 有点困惑 经过更多分析 我发现 无法使用现有的
  • Mongoid 限制删除多个

    使用mongoid 如何删除前10000个文档error message字段是 Error not found 原生 mongo 查询将被愉快地接受 MongoDB 支持删除限制 删除命令从集合中删除文档 单个 删除命令可以包含多个删除规范
  • System.StackOverflowException WPF MVVM

    我正在尝试使用 MVVM 在 WPF 中创建一个简单的数字时钟 我有一个带有装订的标签 背后的代码很简单 每秒都会引发一个属性更改事件 并且我有一个 stackoverflow 异常 有人可以帮忙吗 public partial class
  • 如何调用 script 标签中定义的 javascript 函数?

    Example 我该怎么打电话test 编辑 我没有正确解释这一点 我正在使用node js的request模块来加载包含javascript函数的外部html文件 request get options function error re
  • 在 vim 中映射 Shift 键

    I m having an issue when mapping the Shift key in VIM I want Ctrl L to behave differently than Ctrl Shift L 所以我有这个 for i
  • 数据流管道和 pubsub 模拟器

    我正在尝试设置我的开发环境 我没有在生产中使用 google cloud pubsub 而是使用 pubsub 模拟器进行开发和测试 为了实现这一点 我设置了以下环境变量 export PUBSUB EMULATOR HOST localh
  • 蓝牙配对时未调用 BroadcastReceiver

    很简单 我唯一的代码是这样的 final BroadcastReceiver mReceiver new BroadcastReceiver Override public void onReceive Context context In
  • Python 集合.counter

    python新手 想知道如何告诉python第3行中的数据都是一个数字而不是单个数字 我正在使用 collections Counter 但它可能不是正确的 datafile csv Z4 29 Mar 13 Name 1 1234567
  • 使用 R markdown、knitr、pandoc、beamer 绘图大小和分辨率

    默认情况下不适合幻灯片 甚至不通过任何其他方式打印 这是 Rmd 编辑 看来你必须在每个块中使用plot 现在打印第二个图 Plot should show at high resolution r echo FALSE comment l
  • 如何在 php 中获取部分从 jquery 加载的页面的整个 html

    我这问题好几天了 我必须从 php 加载页面的整个 html 在此页面上有一个 jquery 函数 当所有页面加载完毕时会调用该函数 这个函数将其他html加载到页面中 所以我必须加载所有html 也加载了jquery的部分 我可以知道我得