aboutsummaryrefslogtreecommitdiffstats
path: root/scrapers
diff options
context:
space:
mode:
authorSquibid <me@zacharyscheiman.com>2023-09-22 18:08:37 -0400
committerSquibid <me@zacharyscheiman.com>2023-09-22 18:08:37 -0400
commit472092fe43ad7da9feb4a8c0b4bf216b20c063b9 (patch)
tree6200ad064861b167684483c38e7db9ad05519e7e /scrapers
downloadwallheaven-472092fe43ad7da9feb4a8c0b4bf216b20c063b9.tar.gz
wallheaven-472092fe43ad7da9feb4a8c0b4bf216b20c063b9.tar.bz2
wallheaven-472092fe43ad7da9feb4a8c0b4bf216b20c063b9.zip
inital commit
Diffstat (limited to '')
-rw-r--r--scrapers/wallhaven.php98
1 files changed, 98 insertions, 0 deletions
diff --git a/scrapers/wallhaven.php b/scrapers/wallhaven.php
new file mode 100644
index 0000000..5dbdd68
--- /dev/null
+++ b/scrapers/wallhaven.php
@@ -0,0 +1,98 @@
+<?php
+ function callapi($method, $url, $data = false) {
+ $curl = curl_init();
+ switch ($method) {
+ case "POST":
+ curl_setopt($curl, CURLOPT_POST, 1);
+
+ if ($data)
+ curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
+ break;
+ case "PUT":
+ curl_setopt($curl, CURLOPT_PUT, 1);
+ break;
+ default:
+ if ($data)
+ $url = sprintf("%s?%s", $url, http_build_query($data));
+ }
+ curl_setopt($curl, CURLOPT_URL, $url);
+ curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
+
+ $result = curl_exec($curl);
+
+ curl_close($curl);
+
+ return $result;
+ }
+
+ function getwallpapers($link) {
+ $decoded = json_decode(callapi("GET", $link), true);
+ $walls = [];
+ foreach($decoded["data"] as $key => $value) {
+ $walls[$key]["id"] = $decoded["data"][$key]["id"];
+ $walls[$key]["url"] = $decoded["data"][$key]["url"];
+ $walls[$key]["short_url"] = $decoded["data"][$key]["short_url"];
+ $walls[$key]["views"] = $decoded["data"][$key]["views"];
+ $walls[$key]["favorites"] = $decoded["data"][$key]["favorites"];
+ $walls[$key]["source"] = $decoded["data"][$key]["source"];
+ $walls[$key]["purity"] = $decoded["data"][$key]["purity"];
+ $walls[$key]["category"] = $decoded["data"][$key]["category"];
+ $walls[$key]["dimension_x"] = $decoded["data"][$key]["dimension_x"];
+ $walls[$key]["dimension_y"] = $decoded["data"][$key]["dimension_y"];
+ $walls[$key]["resolution"] = $decoded["data"][$key]["resolution"];
+ $walls[$key]["ratio"] = $decoded["data"][$key]["ratio"];
+ $walls[$key]["file_size"] = $decoded["data"][$key]["file_size"];
+ $walls[$key]["file_type"] = $decoded["data"][$key]["file_type"];
+ $walls[$key]["created_at"] = $decoded["data"][$key]["created_at"];
+ $walls[$key]["colors"] = $decoded["data"][$key]["colors"];
+ $walls[$key]["path"] = $decoded["data"][$key]["path"];
+ $walls[$key]["thumbs"] = $decoded["data"][$key]["thumbs"];
+ }
+ $meta["pages"] = $decoded["meta"]["last_page"];
+ $meta["total"] = $decoded["meta"]["total"];
+ return array($walls, $meta);
+ }
+
+ function getwallpaper($link) {
+ $decoded = json_decode(callapi("GET", $link), true);
+ $wall = $decoded["data"];
+ $wall["tags"] = $decoded["tags"];
+ foreach($decoded["data"] as $key => $value) {
+ $wall["id"] = $decoded["data"]["id"];
+ $wall["url"] = $decoded["data"]["url"];
+ $wall["short_url"] = $decoded["data"]["short_url"];
+ foreach($decoded["data"]["uploader"] as $key => $value) {
+ $wall["uploader"]["username"] = $decoded["data"]["uploader"]["username"];
+ $wall["uploader"]["group"] = $decoded["data"]["uploader"]["group"];
+ foreach($decoded["data"]["uploader"]["avatar"] as $key => $value) {
+ $wall["uploader"]["avatar"]["large"] = $decoded["data"]["uploader"]["avatar"]["200px"];
+ $wall["uploader"]["avatar"]["medium"] = $decoded["data"]["uploader"]["avatar"]["128px"];
+ $wall["uploader"]["avatar"]["small"] = $decoded["data"]["uploader"]["avatar"]["32px"];
+ $wall["uploader"]["avatar"]["xsmall"] = $decoded["data"]["uploader"]["avatar"]["20px"];
+ }
+ }
+ $wall["views"] = $decoded["data"]["views"];
+ $wall["favorites"] = $decoded["data"]["favorites"];
+ $wall["source"] = $decoded["data"]["source"];
+ $wall["purity"] = $decoded["data"]["purity"];
+ $wall["category"] = $decoded["data"]["category"];
+ $wall["dimension_x"] = $decoded["data"]["dimension_x"];
+ $wall["dimension_y"] = $decoded["data"]["dimension_y"];
+ $wall["resolution"] = $decoded["data"]["resolution"];
+ $wall["ratio"] = $decoded["data"]["ratio"];
+ $wall["file_size"] = $decoded["data"]["file_size"];
+ $wall["file_type"] = $decoded["data"]["file_type"];
+ $wall["created_at"] = $decoded["data"]["created_at"];
+ foreach ($decoded["data"]["tags"] as $key => $value) {
+ $wall["tags"][$key]["id"] = $decoded["data"]["tags"][$key]["id"];
+ $wall["tags"][$key]["name"] = $decoded["data"]["tags"][$key]["name"];
+ $wall["tags"][$key]["alias"] = $decoded["data"]["tags"][$key]["alias"];
+ $wall["tags"][$key]["category_id"] = $decoded["data"]["tags"][$key]["category_id"];
+ $wall["tags"][$key]["category"] = $decoded["data"]["tags"][$key]["category"];
+ $wall["tags"][$key]["purity"] = $decoded["data"]["tags"][$key]["purity"];
+ $wall["tags"][$key]["created_at"] = $decoded["data"]["tags"][$key]["created_at"];
+ }
+ }
+ return $wall;
+ }
+?>