osoobe/dubizzle 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱: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
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

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

其他信息

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

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固