getTextContent google error piece of shit
This commit is contained in:
		
							parent
							
								
									40da72e855
								
							
						
					
					
						commit
						4e1df70ce6
					
				| @ -2591,6 +2591,12 @@ class google{ | |||||||
| 				 | 				 | ||||||
| 				foreach($relateds as $related){ | 				foreach($relateds as $related){ | ||||||
| 					 | 					 | ||||||
|  | 					if(!isset($related["innerHTML"])){ | ||||||
|  | 						 | ||||||
|  | 						// found an image
 | ||||||
|  | 						continue; | ||||||
|  | 					} | ||||||
|  | 					 | ||||||
| 					$text = | 					$text = | ||||||
| 						$this->fuckhtml | 						$this->fuckhtml | ||||||
| 						->getTextContent( | 						->getTextContent( | ||||||
| @ -3192,41 +3198,52 @@ class google{ | |||||||
| 			 | 			 | ||||||
| 			$this->fuckhtml->load($header[0]); | 			$this->fuckhtml->load($header[0]); | ||||||
| 			 | 			 | ||||||
| 			$title_tag = | 			// g-snackbar-action present: we found a button instead
 | ||||||
| 				$this->fuckhtml | 			if( | ||||||
| 				->getElementsByAttributeValue( | 				count( | ||||||
| 					"data-attrid", |  | ||||||
| 					"title", |  | ||||||
| 					"div" |  | ||||||
| 				); |  | ||||||
| 			 |  | ||||||
| 			if(count($title_tag) !== 0){ |  | ||||||
| 				$title = |  | ||||||
| 					$this->fuckhtml | 					$this->fuckhtml | ||||||
| 					->getTextContent( | 					->getElementsByTagName( | ||||||
| 						$title_tag[0] | 						"g-snackbar-action" | ||||||
| 					); | 					) | ||||||
|  | 				) !== 0 | ||||||
|  | 			){ | ||||||
| 				 | 				 | ||||||
| 				$header[0]["innerHTML"] = | 				$title_tag = | ||||||
| 					str_replace( |  | ||||||
| 						$title_tag[0]["outerHTML"], |  | ||||||
| 						"", |  | ||||||
| 						$header[0]["innerHTML"] |  | ||||||
| 					); |  | ||||||
| 				 |  | ||||||
| 				// if header still contains text, add it as a subtitle in description
 |  | ||||||
| 				$subtitle = |  | ||||||
| 					$this->fuckhtml | 					$this->fuckhtml | ||||||
| 					->getTextContent( | 					->getElementsByAttributeValue( | ||||||
| 						$header[0] | 						"data-attrid", | ||||||
|  | 						"title", | ||||||
|  | 						"div" | ||||||
| 					); | 					); | ||||||
| 				 | 				 | ||||||
| 				if(strlen($subtitle) !== 0){ | 				if(count($title_tag) !== 0){ | ||||||
|  | 					$title = | ||||||
|  | 						$this->fuckhtml | ||||||
|  | 						->getTextContent( | ||||||
|  | 							$title_tag[0] | ||||||
|  | 						); | ||||||
| 					 | 					 | ||||||
| 					$description[] = [ | 					$header[0]["innerHTML"] = | ||||||
| 						"type" => "quote", | 						str_replace( | ||||||
| 						"value" => $subtitle | 							$title_tag[0]["outerHTML"], | ||||||
| 					]; | 							"", | ||||||
|  | 							$header[0]["innerHTML"] | ||||||
|  | 						); | ||||||
|  | 					 | ||||||
|  | 					// if header still contains text, add it as a subtitle in description
 | ||||||
|  | 					$subtitle = | ||||||
|  | 						$this->fuckhtml | ||||||
|  | 						->getTextContent( | ||||||
|  | 							$header[0] | ||||||
|  | 						); | ||||||
|  | 					 | ||||||
|  | 					if(strlen($subtitle) !== 0){ | ||||||
|  | 						 | ||||||
|  | 						$description[] = [ | ||||||
|  | 							"type" => "quote", | ||||||
|  | 							"value" => $subtitle | ||||||
|  | 						]; | ||||||
|  | 					} | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
| 			 | 			 | ||||||
| @ -3386,9 +3403,117 @@ class google{ | |||||||
| 			$this->fuckhtml->load($rhs); | 			$this->fuckhtml->load($rhs); | ||||||
| 		} | 		} | ||||||
| 		 | 		 | ||||||
| 		// abort if we didnt find any description
 | 		// initialize sublinks
 | ||||||
|  | 		$sublinks = []; | ||||||
|  | 		 | ||||||
|  | 		// get description from business
 | ||||||
| 		if(count($description) === 0){ | 		if(count($description) === 0){ | ||||||
| 			 | 			 | ||||||
|  | 			$data_attrid = | ||||||
|  | 				$this->fuckhtml | ||||||
|  | 				->getElementsByAttributeName( | ||||||
|  | 					"data-attrid" | ||||||
|  | 				); | ||||||
|  | 			 | ||||||
|  | 			$summary = | ||||||
|  | 				$this->fuckhtml | ||||||
|  | 				->getElementsByAttributeValue( | ||||||
|  | 					"data-attrid", | ||||||
|  | 					"kc:/local:one line summary", | ||||||
|  | 					$data_attrid | ||||||
|  | 				); | ||||||
|  | 			 | ||||||
|  | 			if(count($summary) !== 0){ | ||||||
|  | 				 | ||||||
|  | 				$description[] = [ | ||||||
|  | 					"type" => "quote", | ||||||
|  | 					"value" => | ||||||
|  | 						$this->fuckhtml | ||||||
|  | 						->getTextContent( | ||||||
|  | 							$summary[0] | ||||||
|  | 						) | ||||||
|  | 				]; | ||||||
|  | 				 | ||||||
|  | 				// remove summary so it doesnt get parsed as a table
 | ||||||
|  | 				$rhs["innerHTML"] = | ||||||
|  | 					str_replace( | ||||||
|  | 						$summary[0]["outerHTML"], | ||||||
|  | 						"", | ||||||
|  | 						$rhs["innerHTML"] | ||||||
|  | 					); | ||||||
|  | 				 | ||||||
|  | 				$this->fuckhtml->load($rhs); | ||||||
|  | 			} | ||||||
|  | 			 | ||||||
|  | 			$address = | ||||||
|  | 				$this->fuckhtml | ||||||
|  | 				->getElementsByAttributeValue( | ||||||
|  | 					"data-attrid", | ||||||
|  | 					"kc:/location/location:address", | ||||||
|  | 					$data_attrid | ||||||
|  | 				); | ||||||
|  | 			 | ||||||
|  | 			if(count($address) !== 0){ | ||||||
|  | 				 | ||||||
|  | 				$description[] = [ | ||||||
|  | 					"type" => "text", | ||||||
|  | 					"value" => | ||||||
|  | 						$this->fuckhtml | ||||||
|  | 						->getTextContent( | ||||||
|  | 							$address[0] | ||||||
|  | 						) | ||||||
|  | 				]; | ||||||
|  | 			} | ||||||
|  | 			 | ||||||
|  | 			// get title
 | ||||||
|  | 			$title_div = | ||||||
|  | 				$this->fuckhtml | ||||||
|  | 				->getElementsByAttributeValue( | ||||||
|  | 					"data-attrid", | ||||||
|  | 					"title", | ||||||
|  | 					$data_attrid | ||||||
|  | 				); | ||||||
|  | 			 | ||||||
|  | 			if(count($title_div) !== 0){ | ||||||
|  | 				 | ||||||
|  | 				$title = | ||||||
|  | 					$this->fuckhtml | ||||||
|  | 					->getTextContent( | ||||||
|  | 						$title_div[0] | ||||||
|  | 					); | ||||||
|  | 			} | ||||||
|  | 				 | ||||||
|  | 			// get phone number
 | ||||||
|  | 			$phone = | ||||||
|  | 				$this->fuckhtml | ||||||
|  | 				->getElementsByAttributeValue( | ||||||
|  | 					"data-attrid", | ||||||
|  | 					"kc:/local:alt phone", | ||||||
|  | 					$data_attrid | ||||||
|  | 				); | ||||||
|  | 			 | ||||||
|  | 			if(count($phone) !== 0){ | ||||||
|  | 				 | ||||||
|  | 				$this->fuckhtml->load($phone[0]); | ||||||
|  | 				 | ||||||
|  | 				$sublinks["Call"] = | ||||||
|  | 					"tel:" . | ||||||
|  | 					$this->fuckhtml | ||||||
|  | 					->getTextContent( | ||||||
|  | 						$this->fuckhtml | ||||||
|  | 						->getElementsByAttributeName( | ||||||
|  | 							"aria-label", | ||||||
|  | 							"span" | ||||||
|  | 						)[0] | ||||||
|  | 					); | ||||||
|  | 				 | ||||||
|  | 				$this->fuckhtml->load($rhs); | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 		 | ||||||
|  | 		if(count($description) === 0){ | ||||||
|  | 			 | ||||||
|  | 			// still no description? abort
 | ||||||
| 			return $out; | 			return $out; | ||||||
| 		} | 		} | ||||||
| 		 | 		 | ||||||
| @ -3437,7 +3562,55 @@ class google{ | |||||||
| 					": " | 					": " | ||||||
| 				); | 				); | ||||||
| 			 | 			 | ||||||
| 			if($key == ""){ | 			if( | ||||||
|  | 				$key == "" || | ||||||
|  | 				$key == "Phone" | ||||||
|  | 			){ | ||||||
|  | 				 | ||||||
|  | 				continue; | ||||||
|  | 			} | ||||||
|  | 			 | ||||||
|  | 			if($key == "Hours"){ | ||||||
|  | 				 | ||||||
|  | 				$hours = []; | ||||||
|  | 				 | ||||||
|  | 				$this->fuckhtml->load($elem); | ||||||
|  | 				 | ||||||
|  | 				$trs = | ||||||
|  | 					$this->fuckhtml | ||||||
|  | 					->getElementsByTagName( | ||||||
|  | 						"tr" | ||||||
|  | 					); | ||||||
|  | 				 | ||||||
|  | 				foreach($trs as $tr){ | ||||||
|  | 					 | ||||||
|  | 					$this->fuckhtml->load($tr); | ||||||
|  | 					 | ||||||
|  | 					$tds = | ||||||
|  | 						$this->fuckhtml | ||||||
|  | 						->getElementsByTagName( | ||||||
|  | 							"td" | ||||||
|  | 						); | ||||||
|  | 					 | ||||||
|  | 					if(count($tds) === 2){ | ||||||
|  | 						 | ||||||
|  | 						$hours[] = | ||||||
|  | 							$this->fuckhtml | ||||||
|  | 							->getTextContent( | ||||||
|  | 								$tds[0] | ||||||
|  | 							) . ": " . | ||||||
|  | 							$this->fuckhtml | ||||||
|  | 							->getTextContent( | ||||||
|  | 								$tds[1] | ||||||
|  | 							); | ||||||
|  | 					} | ||||||
|  | 				} | ||||||
|  | 				 | ||||||
|  | 				if(count($hours) !== 0){ | ||||||
|  | 					 | ||||||
|  | 					$hours = implode("\n", $hours); | ||||||
|  | 					$table["Hours"] = $hours; | ||||||
|  | 				} | ||||||
| 				 | 				 | ||||||
| 				continue; | 				continue; | ||||||
| 			} | 			} | ||||||
| @ -3451,14 +3624,10 @@ class google{ | |||||||
| 						$elem | 						$elem | ||||||
| 					) | 					) | ||||||
| 				); | 				); | ||||||
| 			 |  | ||||||
| 			// reset
 |  | ||||||
| 			$this->fuckhtml->load($rhs); |  | ||||||
| 		} | 		} | ||||||
| 		 | 		 | ||||||
| 		 | 		// reset
 | ||||||
| 		// get sublink elements
 | 		$this->fuckhtml->load($rhs); | ||||||
| 		$sublinks = []; |  | ||||||
| 		 | 		 | ||||||
| 		// get the website div
 | 		// get the website div
 | ||||||
| 		$as = | 		$as = | ||||||
| @ -3482,6 +3651,28 @@ class google{ | |||||||
| 						["href"] | 						["href"] | ||||||
| 					) | 					) | ||||||
| 				); | 				); | ||||||
|  | 		}else{ | ||||||
|  | 			 | ||||||
|  | 			// get website through button
 | ||||||
|  | 			$button = | ||||||
|  | 				$this->fuckhtml | ||||||
|  | 				->getElementsByClassName( | ||||||
|  | 					"ab_button", | ||||||
|  | 					"a" | ||||||
|  | 				); | ||||||
|  | 			 | ||||||
|  | 			if(count($button) !== 0){ | ||||||
|  | 				 | ||||||
|  | 				$sublinks["Website"] = | ||||||
|  | 					$this->unshiturl( | ||||||
|  | 						$this->fuckhtml | ||||||
|  | 						->getTextContent( | ||||||
|  | 							$button[0] | ||||||
|  | 							["attributes"] | ||||||
|  | 							["href"] | ||||||
|  | 						) | ||||||
|  | 					); | ||||||
|  | 			} | ||||||
| 		} | 		} | ||||||
| 		 | 		 | ||||||
| 		// get social media links
 | 		// get social media links
 | ||||||
|  | |||||||
| @ -794,6 +794,10 @@ table tr a:last-child{ | |||||||
| 	background:var(--1d2021); | 	background:var(--1d2021); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | .web .wiki-head table td{ | ||||||
|  | 	white-space:pre-line; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| .web .wiki-head td, .about table td{ | .web .wiki-head td, .about table td{ | ||||||
| 	padding:4px 7px; | 	padding:4px 7px; | ||||||
| 	vertical-align:middle; | 	vertical-align:middle; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 lolcat
						lolcat