File: /www/wwwroot/healthyton.com/wp-scrap/api.php
<?php
require 'vendor/autoload.php';
use Goutte\Client;
$url = "https://celebriot.com/jennifer-lawrence-weight-height-net-worth-measurements";
if(isset($_GET['url'])){
$url = $_GET['url'];
}
$fields = array();
$mapping = array();
$prefix = 'hton_';
$mapping['weight'] = $prefix.'body_weight';
$mapping['height'] = $prefix.'body_height';
$mapping['body measurements'] = $prefix.'body_measurements';
$mapping['bra size / breast size'] = $prefix.'body_bra_breast_size';
$mapping['hair color'] = $prefix.'body_hair_color';
$mapping['eye color'] = $prefix.'body_eye_color';
$mapping['shoe size / feet size'] = $prefix.'body_shoe_feet_size';
$mapping['dress size'] = $prefix.'body_dress_size';
$mapping['body type / build'] = $prefix.'body_type_build';
$mapping['waist size'] = $prefix.'body_waist_build';
$mapping['hip size'] = $prefix.'body_hip_size';
$mapping['have breast implants'] = $prefix.'body_breast_implants';
$mapping['chest size'] = $prefix.'body_chest_size';
$mapping['biceps size'] = $prefix.'body_biceps_size';
$mapping['net worth'] = $prefix.'net_worth';
$mapping['full name'] = $prefix.'background_full_name';
$mapping['middle name'] = $prefix.'background_middle_name';
$mapping['nicknames'] = $prefix.'background_nicknames';
$mapping['birthplace'] = $prefix.'background_birthplace';
$mapping['date of birth'] = $prefix.'background_dob';
$mapping['zodiac'] = $prefix.'background_zodiac';
$mapping['ethnicity / ethnic background'] = $prefix.'background_ethnicity';
$mapping['nationality'] = $prefix.'background_nationality';
$mapping['religion'] = $prefix.'background_religion';
$mapping['gay'] = $prefix.'background_gay';
$mapping['high school'] = $prefix.'education_high_school';
$mapping['college'] = $prefix.'education_college';
$mapping['mother'] = $prefix.'family_mother';
$mapping['father'] = $prefix.'family_father';
$mapping['brothers'] = $prefix.'background_brothers';
$mapping['sisters'] = $prefix.'background_sisters';
$mapping['favorite colors'] = $prefix.'interest_favorite_colors';
$mapping['favorite bands'] = $prefix.'interest_favorite_brands';
$mapping['favorite movies'] = $prefix.'interest_favorite_movies';
$mapping['favorite tv show'] = $prefix.'interest_favorite_tv_shows';
$mapping['favorite books'] = $prefix.'interest_favorite_books';
$mapping['favorite food'] = $prefix.'interest_favorite_food';
$mapping['favorite songs'] = $prefix.'interest_favorite_songs';
$client = new Client();
$crawler = $client->request('GET', $url);
$name = array_shift($crawler->filter('div#main_image_holder img')->extract('alt'));
$image = array_shift($crawler->filter('div#main_image_holder img')->extract('src'));
$fields['name'] = $name;
$fields['image'] = $image;
$fields['category'] = 'Celeb Health';
$tabs = $crawler->filter('#tabs ul li a')->extract('_text');
$tabs_href = $crawler->filter('#tabs ul li a')->extract('href');
foreach($tabs as $i=>$tab){
$list = array();
$listKey = $crawler->filter('#tabs '.$tabs_href[$i].' div.col_l')->extract('_text');
$listVal = $crawler->filter('#tabs '.$tabs_href[$i].' div.col_r')->extract('_text');
foreach($listKey as $k=>$l){
$key_text = trim($l);
$key_text = trim(str_replace('Does','',$key_text));
$key_text = trim(str_replace("?",'',$key_text));
$key_text = trim(str_replace('Is','',$key_text));
$key_text = preg_replace('/[0-9]+/', '', $key_text);
$key_text = trim(str_replace($name,'',$key_text));
if(isset($mapping[$key_text])){
if($key_text == 'date of birth'){
$dob = trim($listVal[$k]);
$dob = date('Y-m-d',strtotime($dob));
$fields['meta'][$mapping[$key_text]] = $dob;
}else{
$fields['meta'][$mapping[$key_text]] = trim($listVal[$k]);
}
}
}
}
function seourl($phrase, $maxLength = 100000000000000) {
$result = strtolower($phrase);
$result = preg_replace("~[^A-Za-z0-9-\s]~", "", $result);
$result = trim(preg_replace("~[\s-]+~", " ", $result));
$result = trim(substr($result, 0, $maxLength));
$result = preg_replace("~\s~", "_", $result);
return $result;
}
header('Content-Type: application/json');
echo json_encode($fields);