A la hora de detectar el genero de una persona en base al nombre, nos podemos ayudar de dos servicios web, gender API y Genderize.io. Los dos funcionan estupendamente, y los dos tienen un limite de peticiones, y funcionan los dos muy rápidos, y tienen los dos un funcionamiento prácticamente igual. He creado un gist que usa los dos servicios, por defecto usa Gender API, y que esta configurado para España, aunque se puede cambiar para cualquier país cambiando el código de país.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function generoPersona($nombre, $provider = 'genderAPI') | |
| { | |
| $providers = array( | |
| 'genderAPI' => array( | |
| 'url' => 'https://gender-api.com/get?name=', | |
| 'pais' => '&country=ES' | |
| ), | |
| 'genderize' => array( | |
| 'url' => 'https://api.genderize.io/?name=', | |
| 'pais' => '&country_id=es' | |
| ) | |
| ); | |
| if (array_key_exists($provider, $providers)) { | |
| $dataProvider = $providers[$provider]; | |
| } | |
| $generoPersona = 'Hombre'; | |
| $curl = curl_init($dataProvider['url'].$nombre.$dataProvider['pais']); | |
| curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); | |
| $result = json_decode(curl_exec($curl)); | |
| if (is_a($result, 'stdClass') && property_exists($result, 'gender')) { | |
| $generoPersona = ($result->gender == 'female')? 'Mujer' : 'Hombre'; | |
| } | |
| return $generoPersona; | |
| } |
Mas info: https://gender-api.com y https://genderize.io
siempre hay que sumarle una tarjeta MicroSD para el sistema operativo, el cargador, o el cable USB a Micro USB para conectarlo, si tenéis un móvil Samsung, el alimentador se puede usar perfectamente, y luego la caja, que no es obligatorio pero viene muy bien ponérsela, en AliExpres o Ebay hay un montón y muy baratas, y luego mi recomendación es usar una llave USB para usarla como almacenamiento externo.

