使用PHP& Scrape文本在网站上显示

时间:2014-07-24 01:50:19

标签: php xpath web-scraping domxpath

我是PHP的初学者。我理解这些概念但很难找到我理解的教程。我的目标是:

  1. 使用Firefox的xpath插件选择我想从网站上抓取哪一段文字
  2. 正确格式化拼写文本
  3. 在网站上显示文字
  4. 实施例)

    // Get the HTML Source Code
    $url='http://steamcommunity.com/profiles/76561197967713768';
    $source = file_get_contents($url);
    
    // DOM document Creation
    $doc = new DOMDocument;
    $doc->loadHTML($source);
    
    // DOM XPath Creation
    $xpath = new DOMXPath($doc);
    
    // Get all events
    $username = $xpath->query('//html/body/div[3]/div[1]/div/div/div/div[3]/div[1]');
    echo $username; 
    ?>
    

    在这个例子中,我想刮掉用户名(在编写本文时是mopar410)。

    感谢您的帮助 - 我迷失了:(现在我设法在Google doc电子表格中使用带有importXML的xpath并且有效,但我希望能够在我自己的网站上用PHP来学习如何。

    这是我在网上找到的代码并编辑了URL和变量 - 因为我不知道如何自己写这个。

1 个答案:

答案 0 :(得分:3)

他们有public API

只需使用http://steamcommunity.com/profiles/STEAM_ID/?xml=1

即可
<?php

$profile = simplexml_load_file('http://steamcommunity.com/profiles/76561197967713768/?xml=1', 'SimpleXMLElement', LIBXML_NOCDATA);

echo (string)$profile->steamID;

输出:mopar410(在撰写本文时)

这还提供了其他信息,例如mostPlayedGame,hoursPlayed等(查找xml节点名称)。