summaryrefslogtreecommitdiff
path: root/scraper/google.php
diff options
context:
space:
mode:
Diffstat (limited to 'scraper/google.php')
-rw-r--r--scraper/google.php84
1 files changed, 47 insertions, 37 deletions
diff --git a/scraper/google.php b/scraper/google.php
index ca77231..055d12a 100644
--- a/scraper/google.php
+++ b/scraper/google.php
@@ -10,8 +10,8 @@ class google{
include "lib/fuckhtml.php";
$this->fuckhtml = new fuckhtml();
- include "lib/nextpage.php";
- $this->nextpage = new nextpage("google");
+ include "lib/backend.php";
+ $this->backend = new backend("google");
}
public function getfilters($page){
@@ -727,7 +727,7 @@ class google{
}
}
- private function get($url, $get = []){
+ private function get($proxy, $url, $get = []){
$headers = [
"User-Agent: Mozilla/5.0 (Linux; U; Android 2.3.3; pt-pt; LG-P500h-parrot Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 MMS/LG-Android-MMS-V1.0/1.2",
@@ -760,6 +760,8 @@ class google{
curl_setopt($curlproc, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curlproc, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curlproc, CURLOPT_TIMEOUT, 30);
+
+ $this->backend->assign_proxy($curlproc, $proxy);
$data = curl_exec($curlproc);
@@ -771,7 +773,7 @@ class google{
curl_close($curlproc);
return $data;
}
-
+ /*
public function web($get){
$search = $get["s"];
@@ -877,9 +879,9 @@ class google{
if(count($title) !== 0){
- /*
- Container is a web link
- */
+ //
+ // Container is a web link
+ //
$web = [
"title" =>
$this->titledots(
@@ -1051,9 +1053,9 @@ class google{
continue;
}
- /*
- Parse rating object
- */
+ //
+ // Parse rating object
+ //
if($is_rating >= -1){
@@ -1102,9 +1104,9 @@ class google{
continue;
}
- /*
- Parse standalone text
- */
+ //
+ // Parse standalone text
+ //
$additional_info[] = $innertext;
}
}
@@ -1194,9 +1196,9 @@ class google{
$container_title == "people also search for"
){
- /*
- Parse related searches
- */
+ //
+ // Parse related searches
+ //
$as =
$this->fuckhtml
->getElementsByTagName("a");
@@ -1212,9 +1214,9 @@ class google{
continue;
}
- /*
- Parse image carousel
- */
+ //
+ // Parse image carousel
+ //
$title_container =
$this->fuckhtml
->getElementsByClassName(
@@ -1239,9 +1241,9 @@ class google{
if($title_container == "imagesview all"){
- /*
- Image carousel
- */
+ //
+ // Image carousel
+ //
$pcitem =
$this->fuckhtml
->getElementsByClassName(
@@ -1316,9 +1318,9 @@ class google{
}
}
- /*
- Get next page
- */
+ //
+ // Get next page
+ //
$as =
$this->fuckhtml
->getElementsByTagName("a");
@@ -1340,7 +1342,7 @@ class google{
}
return $out;
- }
+ }*/
public function image($get){
@@ -1348,17 +1350,22 @@ class google{
// generate parameters
if($get["npt"]){
- $params =
- json_decode(
- $this->nextpage->get(
- $get["npt"],
- "images"
- ),
- true
+ [$params, $proxy] =
+ $this->backend->get(
+ $get["npt"],
+ "images"
);
+
+ $params = json_decode($params, true);
}else{
$search = $get["s"];
+ if(strlen($search) === 0){
+
+ throw new Exception("Search term is empty!");
+ }
+
+ $proxy = $this->backend->get_ip();
$country = $get["country"];
$nsfw = $get["nsfw"];
$lang = $get["lang"];
@@ -1475,6 +1482,7 @@ class google{
try{
$html =
$this->get(
+ $proxy,
"https://www.google.com/search",
$params
);
@@ -1578,9 +1586,10 @@ class google{
$params["ijn"] = (int)$params["ijn"] + 1;
$out["npt"] =
- $this->nextpage->store(
+ $this->backend->store(
json_encode($params),
- "images"
+ "images",
+ $proxy
);
}else{
@@ -1628,9 +1637,10 @@ class google{
$params["imgvl"] = $imgvl;
$out["npt"] =
- $this->nextpage->store(
+ $this->backend->store(
json_encode($params),
- "images"
+ "images",
+ $proxy
);
}
}