osoobe / dubizzle
Dubizzle for PHP
v1.2.2
2015-11-14 16:42 UTC
Requires
- php: >=5.3.0
- ezyang/htmlpurifier: ^4.7
- paquettg/php-html-parser: 1.6.4
- php-curl-class/php-curl-class: ^4.6
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 以及其中的汽车搜索。
先决条件
- php-html-parse
- php-curl-class
- HTMLPurifier
- PHP 5.3 或更高版本
安装
要轻松安装 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_price
和max_price
- 整数category
- 字符串added_days
- 可选值为 0, 3, 7, 14, 30, 90 或 180num_results
- 整数;'all' 获取所有可用结果detailed
(未实现) - 如果设置为True
,则获取每个结果的完整列表数据;显然会更慢
汽车
make
- 长列表可以在regions.py
中找到min_year
和max_year
- 整数min_kms
和max_kms
- 整数seller
- 'dealer' 或 'owner'fuel
- 'gasoline', 'hybrid', 'diesel', 或 'electric'cylinders
- 3, 4, 5, 6, 8, 10, 或 12transmission
- 'automatic' 或 'manual'
列表参数
url
- 字符串,必需country
- 字符串;默认为 'uae'
问题
请使用 问题 页面。