Ver Fonte

google fixes

lolcat há 2 anos atrás
pai
commit
e82e908ece
2 ficheiros alterados com 29 adições e 2 exclusões
  1. 1 1
      data/proxies/.gitignore
  2. 28 1
      scraper/google.php

+ 1 - 1
data/proxies/.gitignore

@@ -1,3 +1,3 @@
 *
 !.gitignore
-!onion.txt
+!onion.txt

+ 28 - 1
scraper/google.php

@@ -559,6 +559,7 @@ class google{
 		}
 		
 		curl_close($curlproc);
+		echo $data;
 		return $data;
 	}
 	
@@ -977,6 +978,11 @@ class google{
 			"related" => []
 		];
 		
+		if($this->detect_sorry($html)){
+			
+			throw new Exception("Google blocked this 4get instance. Please set up a proxy!");
+		}
+		
 		$this->parsejavascript($html);
 		
 		//
@@ -2795,7 +2801,10 @@ class google{
 			throw new Exception("Failed to get search page");
 		}
 		
-		$this->fuckhtml->load($html);
+		if($this->detect_sorry($html)){
+			
+			throw new Exception("Google blocked this 4get instance. Please set up a proxy!");
+		}
 		
 		$out = [
 			"status" => "ok",
@@ -3609,4 +3618,22 @@ class google{
 		
 		return rtrim($title, ". \t\n\r\0\x0B");
 	}
+	
+	private function detect_sorry($html){
+		
+		$this->fuckhtml->load($html);
+		$detect_sorry =
+			$this->fuckhtml
+			->getElementsByTagName("title");
+		
+		if(
+			isset($detect_sorry[0]) &&
+			$detect_sorry[0]["innerHTML"] == "302 Moved"
+		){
+			
+			return true;
+		}
+		
+		return false;
+	}
 }