如何使用PHP从外部网站获取数据(文本)?

5

我正在尝试从外部网站提取数据(文本)并将其放在我的网站上。

我想获取一个外部网站的足球比分,并将其放在我的网站上。

我已经进行了研究,并发现可以使用Preg_Match来实现,但是我似乎无法弄清楚如何提取html标签内的数据。

例如:

这是一个外部网站的HTML结构。

<td valign="top" align="center" class="s1"><b>Text I Want To Fetch</b></td>

如何获取标签内的文本?这会帮助我很多!谢谢!


1
使用DOM库,如果您对此库有任何问题,请随时回来! - Dave Chen
+1 给快速和有帮助的 @DaveChen :) - woofmeow
我是一个巨大的新手,需要一个与我的问题完全相同的实例来理解。但感谢您提供的快速提示! - user2651511
1
我敢打赌,这方面一定有API可用,不要再费力地做了。而且仅仅因为某个东西在别人的网站上出现,并不意味着你可以自动拥有在你的网站上使用它的权利。 - user557846
http://voetbalzone.nl/ - user2651511
显示剩余4条评论
3个回答

2

试试这个:

<?php

$html = '<td valign="top" align="center" class="s1"><b>Text I Want To Fetch</b></td>';

$dom = new DOMDocument();
$dom->loadHTML($html);
$dom = $dom->getElementsByTagName('td'); //find td
$dom = $dom->item(0);                    //traverse the first td
$dom = $dom->getElementsByTagName('b');  //find b
$dom = $dom->item(0);                    //traverse the first b
$dom = $dom->textContent;                //get text

var_dump($dom);                          //dump it, echo, or print

输出

在这个例子中,没有其他的textContent,所以如果您的HTML只包含加粗的文本,您也可以使用这种方法:

<?php

$html = '<td valign="top" align="center" class="s1"><b>Text I Want To Fetch</b></td>';

$dom = new DOMDocument();
$dom->loadHTML($html);
$dom = $dom->textContent;

var_dump($dom);

输出


我需要的正是这个!我该如何在外部网站中使用它?我在哪里说打开这个URL? - user2651511
我会听取Dagon的评论。涉及哪个网站?如果他们没有提供API,那么他们可能不希望你这样做。而Stackoverflow并不是询问这些问题的合适场所。 - Dave Chen

2

0

如果你想使用PHP获取数据,那么file_get_contents(url)可能会有所帮助;不过,你也可以使用Jquery的AJAX请求来获取数据。下面是AJAX文档的链接: http://api.jquery.com/jquery.ajax/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接