PHP HTML DOM : How to select all visible/readable text?

标签 php html dom screen-scraping zend-dom-query

我正在尝试抓取网站,通过保留 html 结构修改所有可见文本(意思是:链接、段落、标题等),然后在之后呈现"new"页面。

基本上我想在不破坏设计/功能的情况下打乱所有可读文本。

我用 Zend_Dom_Query 试过了,但是如何只选择文本?

    $dom = new Zend_Dom_Query($html);
    $results = $dom->query( ??? );

或者有其他/更好的方法吗?

非常感谢。


示例

输入:

<html>
  <head>....</head>
  <body>

    <div>
      <h1>Headline</h1>
      <h2>Subheadline</h2>
      <p>Some text</p>
      <a href="...">
        A Link 
        <img src="..." />
        <span style="display:none">additional text</span>
      </a>  
    </div>

  </body>
</html>

输出:

<html>
  <head>....</head>
  <body>

    <div>
      <h1>Hinladee</h1>
      <h2>Suialebdhne</h2>
      <p>Smoe txet</p>
      <a href="...">
        A Lnik 
        <img src="..." />
        <span style="display:none">anodiaditl txet</span>
      </a>  
    </div>

  </body>
</html>

最佳答案

您可以试试这个服务:http://www.alchemyapi.com/api/text/ - 它的 API 提供了易于使用的机制,可以从任何网页中提取页面文本和标题信息。这是一个简单的方法。其他方法是使用 http://www.alchemyapi.com/api/scrape/

关于PHP HTML DOM : How to select all visible/readable text?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6592143/

相关文章:

jquery - 动态生成的 <li> 中未触发单击事件

javascript - CSS下拉响应式子菜单

c# - 如何从字符串中获取html元素?

javascript - 在 Angular 中,如何从指令访问我编译的模板?

php - 将动态添加的表行值添加到数据库中

php - 如何通过从我的代码附加 PHP HTML 的另一个页面的 session 变量中获取值来使 Td 样式可见?

带有 AM/PM 的 PHP 字符串到日期时间

javascript - WebRTC。信号已完成,但远程视频不工作

python - 如何获取标签下的文字

php - 数据库查询在 laravel 上使用错误的表名