承接 osoobe/dubizzle 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

osoobe/dubizzle

最新稳定版本:v1.2.2

Composer 安装命令:

composer require osoobe/dubizzle

包简介

Dubizzle for PHP

README 文档

README

Dubizzle is an online classifieds website. This project aims to become a simple and complete PHP scraping-based API for Dubizzle.

This project was enspired by python's Dubizzle scraping API.

Notice

This is still a work in progress. There is much left to do until this becomes what it should be. I will however make sure that the master branch functions as expected. Any help would be greatly appreciated, obviously.

Another thing to point out is that the main focus for the time being is on Dubizzle UAE and specifically Motors search within it.

Prerequisites

Installation

To easily install Dubizzle, simply:

composer require osoobe/dubizzle

If you don't have compose install, see how to install and use composer

Quickstart

use Dubizzle\Search;

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

$results = $query->get_results();

The $results variable is a array of associated data for each result item on dubizzle:

var_dump($results);

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

See Demo 1 for data output.

Example

Find average price of year 2007 and above Nissan Altimas in Dubai (Live Demo)

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

Other Examples

Get the list of makes from [Dubizzle] (Live Demo):

use Dubizzle\Category;

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

Get the list of models from [Dubizzle] (Live Demo):

use Dubizzle\Category;

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

Search Parameters

General

  • country - string; defaults to 'uae'
  • keyword - string
  • city - string
  • section - string
  • min_price and max_price - integers
  • category - string
  • added_days - choices are 0, 3, 7, 14, 30, 90, or 180
  • num_results - integer; 'all' fetches all results available
  • detailed (not implemented) - if set to True, fetches full listing data for each result; slower, obviously

Motors

  • make - a long list can be found in regions.py
  • min_year and max_year - integers
  • min_kms and max_kms - integers
  • seller - 'dealer' or 'owner'
  • fuel - 'gasoline', 'hybrid', 'diesel', or 'electric'
  • cylinders - 3, 4, 5, 6, 8, 10, or 12
  • transmission - 'automatic' or 'manual'

Listing Parameters

  • url - string, required
  • country - string; defaults to 'uae'

Issues

Please use the Issues page for that.

统计信息

  • 总下载量: 55
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 2
  • Forks: 4
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-08-30