osoobe/dubizzle

v1.2.2 2015-11-14 16:42 UTC

This package is not auto-updated.

Last update: 2024-09-28 17:54:43 UTC


README

Dubizzle 是一个在线分类广告网站。该项目旨在成为一个基于 PHP 爬取的简单而完整的 Dubizzle API。

该项目受到 python 的 Dubizzle scraping API 的启发。

注意

这还是一个正在开发中的项目。直到它变得完善,还有很多事情要做。不过,我会确保 master 分支按预期工作。任何帮助都将非常感激。

另一个需要指出的是,目前主要关注的是 Dubizzle UAE 以及其中的汽车搜索。

先决条件

安装

要轻松安装 Dubizzle,只需

composer require osoobe/dubizzle

如果您没有安装 composer,请参阅 如何安装和使用 composer

快速入门

use Dubizzle\Search;

$params = ["country"=>'uae', "city"=>"dubai", "section"=>"motor"];
$uea = new Search($params);
$query = $uea->search();
$query->fetch();

$results = $query->get_results();

$results 变量是 dubizzle 上每个结果项相关数据的关联数组

var_dump($results);

[
    ['title' => '...',
     'location' => '...',
     'url' => '...',
     'price' => '...',
     'category' => '...'
    ],
    ['title' => '...',
     'location' => '...',
     'url' => '...',
     'price' => '...',
     'category' => '...'
    ],
    ...
]

请参阅 演示 1 了解数据输出。

示例

查找迪拜 2007 年及以上日产 Altima 的平均价格 (实时演示)

require_once "../vendor/autoload.php";

use Dubizzle\Search;

$params = [
    "keyword"=>'altima',
    "country"=>'uae',
    "city"=>'dubai',
    "section"=>'motors',
    "category"=>'cars',
    "make"=>'nissan',
    "min_year"=>2007,
    "num_results"=>'all'];

$uae = new Search($params);

$query = $uae->search();
$query->fetch();
$results = $query->get_results();

$result_count = count($results);
$total_price = 0;
foreach($results as $result){
    $total_price += $result["price"];
}

echo "Num. Results:   ".$result_count;
echo "<br/>";
echo "<br/>";
echo "Average price:  ".(intval($total_price / $result_count)); # Prints 39239.94

其他示例

获取 [Dubizzle] 的品牌列表 (实时演示)

use Dubizzle\Category;

$category = new Category();
$makes = $category->get_makes(Category::$uae["categories"]["options"]['cars']);

获取 [Dubizzle] 的型号列表 (实时演示)

use Dubizzle\Category;

$category = new Category();
$models = $category->get_models(Category::$uae["makes"]["options"]['audi']);

搜索参数

通用

  • country - 字符串;默认为 'uae'
  • keyword - 字符串
  • city - 字符串
  • section - 字符串
  • min_pricemax_price - 整数
  • category - 字符串
  • added_days - 可选值为 0, 3, 7, 14, 30, 90 或 180
  • num_results - 整数;'all' 获取所有可用结果
  • detailed (未实现) - 如果设置为 True,则获取每个结果的完整列表数据;显然会更慢

汽车

  • make - 长列表可以在 regions.py 中找到
  • min_yearmax_year - 整数
  • min_kmsmax_kms - 整数
  • seller - 'dealer' 或 'owner'
  • fuel - 'gasoline', 'hybrid', 'diesel', 或 'electric'
  • cylinders - 3, 4, 5, 6, 8, 10, 或 12
  • transmission - 'automatic' 或 'manual'

列表参数

  • url - 字符串,必需
  • country - 字符串;默认为 'uae'

问题

请使用 问题 页面。