数据抓取刚刚用PHP编写的页面

Data scraping the page JUST written with PHP

本文关键字:PHP 抓取 数据      更新时间:2023-09-26

我有一个用PHP编写的页面,在PHP编写之后,我希望能够搜索HTML源代码以找到某些标签。这是不可能的/不明智的吗?

当技术上所有内容都已写入 HTML 时,我尝试在脚本末尾使用 file_get_contents,我想我可能以这种方式暂时破坏了我的页面(在我的主机上达到资源限制)

我的主要目标是弄清楚如何使用Javascript来逐个更改页面的元素。我想如果我能找到我试图更改的 html 标签,我可以这样做......PHP写的...在同一页面中。

你看,对Javascript非常陌生。

你可以相当容易地做到这一点,客户端,用jquery。

如果你绝对需要使用 php 在服务器端处理它,并且在生成代码时绝对无法做到这一点,你可以使用 ob_start() 捕获输出,然后 ob_get_contents() 将其放入字符串中,然后再执行 ob_end_clean() 将其刷新到浏览器。

您可以在大多数浏览器中右键单击渲染的网页,然后选择"查看源代码"的某种变体。或者,您可以 cURL 页面的内容,并将其作为文本文件查看。

此外,file_get_contents();发出一个新请求来获取页面/文件的内容。因此,如果您加载一个页面,并在底部尝试获取页面内容,它将加载一个新页面,然后是另一个页面,永远。您正在创建一个无限循环,并耗尽您分配的资源,这是您的托管服务提供商所指示的。

如果我

没理解错,加载页面后您想更改自己的 html 输出,因此,

<?php
 echo "<div id='mydiv'></div>";
?>
<script type="text/javascript">
      window.onload = function() {  
        document.getElementById("mydiv").innerHTML = "updated html";  
      }  
</script>

除非您在生成页面时捕获输出,例如

<?php
ob_start();
.... page building here ...
$page = ob_get_clean();
echo $page;
?>

你没有什么可做的。但是,如果您如上所述进行捕获,那么您可以简单地将$page输入 DOM 并在那里对其进行操作。

但这引出了一个问题...如果您需要在构建页面后更改页面,为什么不首先更改其构建方式呢?