如何使用Guzzle获取字段值?

时间:2017-04-17 21:56:33

标签: php guzzle

我需要使用Guzzle从网址中删除一些数据,因此我使用此代码:

<?php
  require 'vendor/autoload.php';
  use GuzzleHttp\Client;

  function placeholder($someParam)
  {
    $client = new Client([
      'base_uri' => 'http://archive-grbj-2.s3-website-us-west-1.amazonaws.com/',
      'timeout'  => 5.0,
    ]);

    # Request / or root
    $response = $client->request('GET', '/');
    $body = $response->getBody()->getContents();

    print_r($body);

  }

?>

但我如何为所有文章返回一些字段值,例如文章标题,文章日期,JSON格式的作者姓名?

3 个答案:

答案 0 :(得分:1)

Guzzle是一种用于HTTP通信的工具,但您需要一个更高级别的工具,一个页面剪贴板。他们有特定的方法从页面中提取内容。

PHP有一些,最简单的是Goutte。它已经在GitHub上有一些例子,你也可以搜索SO(已经有很多关于它的答案)。

答案 1 :(得分:0)

您可以使用preg_match函数来解析html。此函数的第一个参数是一个正则表达式,应该与您感兴趣的内容相匹配

答案 2 :(得分:0)

您可以使用Symfony DomCrawler和CssSelector组件的组合。这样你就可以使用css选择器从页面中获取所需的项目。

http://symfony.com/doc/current/components/dom_crawler.html