首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何提取网页摘要?

如何提取网页摘要?
EN

Stack Overflow用户
提问于 2015-08-16 05:33:53
回答 1查看 112关注 0票数 1

我正在写一个代码来从arxiv页面中提取摘要,例如页面http://arxiv.org/abs/1207.0102,我感兴趣的是从“我们研究一个模型...”中提取文本。到"...compass-Heisenberg模型“我的代码目前看起来像这样

代码语言:javascript
复制
$url="http://arxiv.org/abs/1207.0102";
$options = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"User-Agent: Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko\r\n"
  )
);
$context = stream_context_create($options);
$str = file_get_contents($url, false, $context);

if (preg_match('~<body[^>]*>(.*?)</body>~si', $str, $body))
{
    echo $body[1];
}

这样做的问题是它会提取body标记中的所有内容。有没有办法只提取摘要?

EN

回答 1

Stack Overflow用户

发布于 2015-08-16 05:38:09

最好的选择是使用DOM解析器,php在http://php.net/manual/en/class.domdocument.php中内置了一个解析器,但也有大量的类可以做类似的事情。

使用DOM文档,您可以这样做:

代码语言:javascript
复制
<?php
  $doc = new DOMDocument();
  $doc->loadHTML("<html><body>Test<br></body></html>");
  $text = $doc->getElementById("abstract");
?>

另一种选择是使用正则表达式,这似乎就是您已经在做的事情。正如您可以看出的那样,它有点混乱,需要一些学习,http://www.regular-expressions.info/tutorial.html

谢谢。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32029583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档