【问题标题】:How to webscrape HTML using PHP dom inside links如何在链接中使用 PHP dom 抓取 HTML
【发布时间】:2015-07-18 14:16:47
【问题描述】:

我有一个关于 HTML 网页抓取的问题。

<div class="mbs fwb">
<a href="/groups/291064327770896/" data-hovercard="/ajax/hovercard/group.php?id=291064327770896" aria-owns="js_0" aria-haspopup="true" aria-describedby="js_1" id="js_2">
NCR Business Startups </a>
</div>

<div class="mbs fwb" >
<a href="/groups/Analystamit/" data-hovercard="/ajax/hovercard/group.php?id=158649140871478" aria-owns="js_0" aria-haspopup="true" aria-describedby="js_1" id="js_2">
Risk Professionals </a>
</div>

我需要在锚标签data-hovercard 字段内进行刮擦。

下面是我使用的代码:

include('simple_html_dom.php');

$html = file_get_html('http://sampleurl.com/taki.html');

foreach($html->find('div[class="mbs fwb"]') as $desc11)

foreach($desc11->find('a') as $desc12)

    echo $desc12->data-hovercard . '<br>';

它不工作。我得到的结果:

0

0

我想要这样的结果:

/ajax/hovercard/group.php?id=291064327770896

/ajax/hovercard/group.php?id=158649140871478

【问题讨论】:

  • /ajax/hovercard/group.php?id=158649140871478
  • 创建一个数据元素然后php.net/manual/en/function.strip-tags.php
  • 不明白先生,我是学习者,你能写完整的代码吗,如果你不介意,谢谢你..
  • data-hovercard 似乎不是有效的对象属性。
  • 像这样的代码先生

标签: php html web-scraping domdocument


【解决方案1】:

使用具有如下模式的正则表达式:/data-hovercard="([^"]*)"/gi;

结果匹配的“\1”将包含该属性的所有值。您可能需要从源文本中删除换行符,以保持良好的内务管理。

希望这会有所帮助。

【讨论】:

  • 先生如何添加正则表达式?我需要删除哪些行
  • 要删除换行符(换行符),通常替换 "\n" 将为您完成。要学习正则表达式,您需要在 Google 中搜索“正则表达式”和您使用的语言,在本例中为 PHP。如果你使用我上面建议的模式,任何教程都会让你到达你需要的地方。如果我只是发布代码,你什么都没学到。
【解决方案2】:

您可以使用内置的SimpleXMLElement 类和XPath 查询来做到这一点:

$xml = new SimpleXMLElement('http://foo.bar/baz.html', null, true);
$anchors = $xml->xpath('//div[@class="mbs fwb"]/a');

foreach ($anchors as $a) {
    echo $a['data-hovercard'], PHP_EOL;
}

输出,假设 baz.html 是一个包含 div 的有效 HTML 文件 来自问题:

/ajax/hovercard/group.php?id=291064327770896
/ajax/hovercard/group.php?id=158649140871478

【讨论】:

    猜你喜欢
    • 2013-06-13
    • 1970-01-01
    • 2014-12-07
    • 2016-02-03
    • 2017-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-10
    相关资源
    最近更新 更多