【问题标题】:How to fetch data (text) from an external website with PHP if possible?如果可能,如何使用 PHP 从外部网站获取数据(文本)?
【发布时间】:2013-08-05 01:04:02
【问题描述】:

我正在尝试从外部站点提取数据(文本)并将其放在我的站点上。 我想获取外部网站的足球比分并将其放在我的网站上。 我研究并发现我可以使用 Preg_Match 做到这一点,但我似乎无法弄清楚如何在 html 标签中提取数据。

例如

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

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

如何获取标签中的文本?会帮我分配!谢谢!

【问题讨论】:

  • 使用DOM library,如果您对此库有任何疑问,请随时回来!
  • +1 快速而有帮助的@DaveChen :)
  • 我是一个巨大的菜鸟,需要一个与我的问题相同的可靠示例来理解。但是感谢您的快速提示!
  • 赌你一百万美元,有用于此的 API,别再硬着头皮做事了。而不是因为它是别人的网站并不会自动授予您在您的网站上使用它的权利。
  • 我知道你想说什么,但我不是在窃取内容。我只想获取一些分数数据并将其显示在我的网站上。

标签: php text preg-match fetch file-get-contents


【解决方案1】:

您可以使用file_get_contents方法获取网页的内容。

例如:

$content = file_get_contents('http://www.source.com/page.html');

【讨论】:

    【解决方案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
    

    Output

    在这个例子中,没有任何其他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);
    

    Output

    【讨论】:

    • 正是我需要的!我如何将它与外部站点一起使用?我在哪里说打开这个网址?
    • 我会听大衮的评论。有问题的网站是什么?如果他们不提供 API,他们可能不希望您这样做。 Stackoverflow不是问这些类型问题的地方。
    【解决方案3】:

    如果您正在谈论使用 php 获取数据,那么 file_get_contents(url) 可能会有所帮助;但是,您也可以使用带有 Jquery 的 AJAX 请求来获取数据。下面是 AJAX 文档的链接: http://api.jquery.com/jquery.ajax/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-31
      • 1970-01-01
      • 2012-10-15
      • 1970-01-01
      • 2012-07-02
      相关资源
      最近更新 更多