如何用PHP和DOM文档获取特定内容?

发布于 2024-08-04 18:34:33 字数 269 浏览 2 评论 0原文

我有一个想要抓取的网址。我只想要其中的一小段内容。有问题的内容位于具有样本 ID 的 div 中。

<div id="sample">
   Content
</div>

我可以像这样抓取文件:

$url= file_get_contents('http://www.example.com/');

但是我如何选择那个示例 div.

有什么想法吗?

I have a url I want to grab. I only want a short piece of content from it. The content in question is in a div that has a ID of sample.

<div id="sample">
   Content
</div>

I can grab the file like so:

$url= file_get_contents('http://www.example.com/');

But how do I select just that sample div.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

浊酒尽余欢 2024-08-11 18:34:33

我建议使用 PHP 简单 HTML DOM 解析器

然后你可以这样做:

$html = file_get_html('http://www.example.com/');
$html->find('div[#sample]', 0);

I'd recommend using the PHP Simple HTML DOM Parser.

Then you can do:

$html = file_get_html('http://www.example.com/');
$html->find('div[#sample]', 0);
小傻瓜 2024-08-11 18:34:33

我会推荐类似 Simple HTML DOM 的东西,尽管如果您非常确定格式,您可能希望看看使用正则表达式来提取你想要的数据。

I would recommend something like Simple HTML DOM, although if you are very sure of the format, you may wish to look at using regex to extract the data you want.

傾城如夢未必闌珊 2024-08-11 18:34:33

不久前,我发布了一个名为 PHPPowertools/DOM-Query,它允许您 (1) 加载 HTML 文件,然后 (2) 选择或更改 HTML 的部分,就像使用 jQuery 一样。

使用该库,您可以按照以下方式为示例选择示例 div:

use \PowerTools\DOM_Query;

// Get file content
$htmlcode = file_get_contents('http://www.example.com/');

// Create a new DOM_Query object
$H = new DOM_Query($htmlcode);

// Find the elements that match selector "div#sample"
$s = $H->select('div#sample');

A while ago, I released an open source library named PHPPowertools/DOM-Query, which allows you to (1) load an HTML file and then (2) select or change parts of your HTML much like you'd do it with jQuery.

Using that library, here's how you'd select the sample div for your example :

use \PowerTools\DOM_Query;

// Get file content
$htmlcode = file_get_contents('http://www.example.com/');

// Create a new DOM_Query object
$H = new DOM_Query($htmlcode);

// Find the elements that match selector "div#sample"
$s = $H->select('div#sample');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文