Разбор файла Json с веб-поиска Bing в PHP - PullRequest
0 голосов
/ 01 декабря 2018

Я пишу этот скрипт php.Я изо всех сил пытаюсь получить все данные из json-файла bing web search в PHP

У меня есть этот ответ json от bing web search.Как я могу получить [webPages] [name] и все [relatedSearches] [text]

Array ([_type] => SearchResponse [queryContext] => Array ([originalQuery] => phone en vente rennes)

[webPages] => Array
    (
        [webSearchUrl] => https://www.bing.com/search?q=telephone+en+vente+rennes
        [totalEstimatedMatches] => 4590000
        [value] => Array
            (
                [0] => Array
                    (
                        [id] => https://api.cognitive.microsoft.com/api/v7/#WebPages.0
                        [name] => telephonie vente à Rennes et ses environs - PagesJaunes
                        [url] => https://www.pagesjaunes.fr/annuaire/rennes-35/telephonie-vente
                        [isFamilyFriendly] => 1
                        [displayUrl] => https://www.pagesjaunes.fr/annuaire/rennes-35/telephonie-vente
                        [snippet] => Téléphonie à Rennes (35) : trouver les numéros de téléphone et adresses des professionnels de votre département ou de votre ville dans l'annuaire PagesJaunes
                        [dateLastCrawled] => 2018-11-25T12:28:00.0000000Z
                        [language] => fr
                        [isNavigational] => 
                    )

                [1] => Array
                    (
                        [id] => https://api.cognitive.microsoft.com/api/v7/#WebPages.1
                        [name] => Vente de téléphonie à rennes 35000 - fr.mappy.com
                        [url] => https://fr.mappy.com/activite/telephonie-vente/35000-rennes
                        [isFamilyFriendly] => 1
                        [displayUrl] => https://fr.mappy.com/activite/telephonie-vente/35000-rennes
                        [snippet] => Votre recherche : Vente de téléphonie à rennes. Trouvez les adresses qui vous intéressent sur le plan de rennes
                        [dateLastCrawled] => 2018-11-25T18:15:00.0000000Z
                        [language] => fr
                        [isNavigational] => 
                    )

                [2] => Array
                    (
                        [id] => https://api.cognitive.microsoft.com/api/v7/#WebPages.2
                        [name] => Téléboutique à Rennes, vente et installation de téléphone
                        [url] => https://www.pagesjaunes.fr/annuaire/rennes-35/teleboutique
                        [isFamilyFriendly] => 1
                        [displayUrl] => https://www.pagesjaunes.fr/annuaire/rennes-35/teleboutique
                        [snippet] => Téléboutique à Rennes (35) : trouver les numéros de téléphone et adresses des professionnels de votre département ou de votre ville dans l'annuaire PagesJaunes
                        [dateLastCrawled] => 2018-11-17T22:38:00.0000000Z
                        [language] => fr
                        [isNavigational] => 
                    )

                [3] => Array
                    (
                        [id] => https://api.cognitive.microsoft.com/api/v7/#WebPages.3
                        [name] => Vente - Achat téléphone portable Rennes Iphone, Android ...
                        [url] => http://www.vivastreet.com/achat-vente-portables-mobile/rennes
                        [isFamilyFriendly] => 1
                        [displayUrl] => www.vivastreet.com/achat-vente-portables-mobile/rennes
                        [snippet] => A la recherche d'un téléphone portable d'occasion ou d'accessoires pour votre mobile? Trouvez les sur VIVASTREET Rennes des milliers de petites annonces près de chez vous
                        [dateLastCrawled] => 2018-11-22T08:50:00.0000000Z
                        [language] => fr
                        [isNavigational] => 
                    )

                [4] => Array
                    (
                        [id] => https://api.cognitive.microsoft.com/api/v7/#WebPages.4
                        [name] => Téléphonie Rennes - Marche.fr
                        [url] => https://www.marche.fr/telephonie_annonces-telephonie-rennes-ville-13349-r33.html
                        [isFamilyFriendly] => 1
                        [displayUrl] => https://www.marche.fr/telephonie_annonces-telephonie-rennes-ville...
                        [snippet] => Annonces téléphonie rennes : acheter téléphonie rennes, vendre téléphonie rennes, donne téléphonie rennes
                        [dateLastCrawled] => 2018-11-25T19:58:00.0000000Z
                        [language] => fr
                        [isNavigational] => 
                    )

                [5] => Array
                    (
                        [id] => https://api.cognitive.microsoft.com/api/v7/#WebPages.5
                        [name] => Où acheter un téléphone portable à Rennes ? - Acheter-ou.fr
                        [url] => https://www.acheter-ou.fr/telephone-portable-192.html?ou=35000/rennes
                        [isFamilyFriendly] => 1
                        [displayUrl] => https://www.acheter-ou.fr/telephone-portable-192.html?ou=35000/rennes
                        [snippet] => Cette liste est une liste non exhaustive des points de vente pour acheter un téléphone portable à Rennes. Nous ne pouvons pas garantir que chaque point de vente a bien en vente un téléphone portable, mais ces points de vente sont les plus probables pour ce produit.
                        [dateLastCrawled] => 2018-11-23T13:23:00.0000000Z
                        [language] => fr
                        [isNavigational] => 
                    )

                [6] => Array
                    (
                        [id] => https://api.cognitive.microsoft.com/api/v7/#WebPages.6
                        [name] => Vente / Achat studio à Rennes Gare (35000)
                        [url] => https://www.ouestfrance-immo.com/immobilier/vente/studio/rennes-gare-35-35238/
                        [isFamilyFriendly] => 1
                        [displayUrl] => https://www.ouestfrance-immo.com/immobilier/vente/studio/rennes...
                        [snippet] => 2 studio à vendre à Rennes Gare (Ille-et-Vilaine). Annonces immobilières de particuliers et de professionnels sur OuestFrance Immo.
                        [dateLastCrawled] => 2018-11-25T22:20:00.0000000Z
                        [language] => fr
                        [isNavigational] => 
                    )

                [7] => Array
                    (
                        [id] => https://api.cognitive.microsoft.com/api/v7/#WebPages.7
                        [name] => Vente / Achat Appartement à Rennes (35000) page 2
                        [url] => https://www.ouestfrance-immo.com/immobilier/vente/appartement/rennes-35-35238/?page=2
                        [isFamilyFriendly] => 1
                        [displayUrl] => https://www.ouestfrance-immo.com/immobilier/vente/appartement/...
                        [snippet] => 2 369 Appartement à vendre à Rennes (Ille-et-Vilaine). Annonces immobilières de particuliers et de professionnels sur OuestFrance Immo. page 2
                        [dateLastCrawled] => 2018-11-19T10:04:00.0000000Z
                        [language] => fr
                        [isNavigational] => 
                    )

                [8] => Array
                    (
                        [id] => https://api.cognitive.microsoft.com/api/v7/#WebPages.8
                        [name] => Rennes Phone - Vente de téléphonie, 15 rue de Plélo 35000 ...
                        [url] => https://fr.mappy.com/poi/586d7e830351d1044ff61ca7
                        [isFamilyFriendly] => 1
                        [displayUrl] => https://fr.mappy.com/poi/586d7e830351d1044ff61ca7
                        [snippet] => Découvrez Rennes Phone (15 rue de Plélo, 35000 Rennes) avec toutes les photos du quartier, le plan d'accès, les avis et les infos pratiques : horaires, ...
                        [dateLastCrawled] => 2018-11-20T05:54:00.0000000Z
                        [language] => fr
                        [isNavigational] => 
                    )

                [9] => Array
                    (
                        [id] => https://api.cognitive.microsoft.com/api/v7/#WebPages.9
                        [name] => Produits TELEPHONIE MOBILE d'occasion RENNES
                        [url] => https://www.cashexpress.fr/produits-occasions/telephonie-mobile,40/magasin-rennes,246.html
                        [isFamilyFriendly] => 1
                        [displayUrl] => https://www.cashexpress.fr/produits-occasions/telephonie-mobile,40/...
                        [snippet] => Notre magasin Cash Express RENNES vous propose ses nombreux produits d’occasion présents dans notre rayon TELEPHONIE MOBILE. Gagnez jusqu’à 70% sur le prix neuf et faites d’importantes économies grâce à Cash express !
                        [dateLastCrawled] => 2018-11-25T01:24:00.0000000Z
                        [language] => fr
                        [isNavigational] => 
                    )

            )

    )

[relatedSearches] => Array
    (
        [id] => https://api.cognitive.microsoft.com/api/v7/#RelatedSearches
        [value] => Array
            (
                [0] => Array
                    (
                        [text] => chronopost rennes téléphone
                        [displayText] => chronopost rennes téléphone
                        [webSearchUrl] => https://www.bing.com/search?q=chronopost+rennes+t%c3%a9l%c3%a9phone
                    )

                [1] => Array
                    (
                        [text] => enerdis rennes téléphone
                        [displayText] => enerdis rennes téléphone
                        [webSearchUrl] => https://www.bing.com/search?q=enerdis+rennes+t%c3%a9l%c3%a9phone
                    )

                [2] => Array
                    (
                        [text] => contravention rennes téléphone
                        [displayText] => contravention rennes téléphone
                        [webSearchUrl] => https://www.bing.com/search?q=contravention+rennes+t%c3%a9l%c3%a9phone
                    )

                [3] => Array
                    (
                        [text] => mdph rennes téléphone
                        [displayText] => mdph rennes téléphone
                        [webSearchUrl] => https://www.bing.com/search?q=mdph+rennes+t%c3%a9l%c3%a9phone
                    )

                [4] => Array
                    (
                        [text] => rsi rennes téléphone
                        [displayText] => rsi rennes téléphone
                        [webSearchUrl] => https://www.bing.com/search?q=rsi+rennes+t%c3%a9l%c3%a9phone
                    )

                [5] => Array
                    (
                        [text] => maif rennes téléphone
                        [displayText] => maif rennes téléphone
                        [webSearchUrl] => https://www.bing.com/search?q=maif+rennes+t%c3%a9l%c3%a9phone
                    )

                [6] => Array
                    (
                        [text] => réparateur téléphone rennes
                        [displayText] => réparateur téléphone rennes
                        [webSearchUrl] => https://www.bing.com/search?q=r%c3%a9parateur+t%c3%a9l%c3%a9phone+rennes
                    )

                [7] => Array
                    (
                        [text] => hôpital pontchaillou rennes téléphone
                        [displayText] => hôpital pontchaillou rennes téléphone
                        [webSearchUrl] => https://www.bing.com/search?q=h%c3%b4pital+pontchaillou+rennes+t%c3%a9l%c3%a9phone
                    )

            )

    )

1 Ответ

0 голосов
/ 01 декабря 2018

Прежде всего вам необходимо расшифровать его с помощью json_decode.Затем вы можете рассматривать его как обычный массив.

Если вы сохраните свой результат в переменной $result, вы можете сделать что-то вроде:

$decoded =  json_decode($result);
$webPages = $decoded['queryContext']['webPages']['value'];
$names = [];

foreach ($webPages as $webPage) {
    $names[] = $webPage['name'];
}

$relatedSearches = $decoded['queryContext']['relatedSearches']['value'];
...