Я создаю поисковую систему PHP.
Я хочу иметь разные типы поиска.
Как пользователь может искать изображения, веб-сайты, видео и т. Д.
Сейчас я пробую 2 вещи:
1: Для поиска только видео.
2: И искать только изображения.
Я ползу по сети, используя Bing. Как это:
$bing = 'https://www.bing.com/images/search?q='. rawurlencode($keyword);
Я использую Simple HTML Dom Parser, чтобы получить все результаты.
Я знаю из консоли Inspect Element в моем браузере, что весь «путь» к изображению в Bing выглядит так:
$img = $html->find('div[data-bm] div[class=dg_b] div[class=dgControl]ul[class=dgControl_list] li div[class=varh] div[class=imgpt] a[class=iusc] div[class=hoff] img[class=mimg]');
Но если я сделаю это:
if($img) {
// rest of the code ...
}
else {
echo 'false';
}
Я получаю ложь, потому что путь поиска, который я вставил, неверен.
Но я точно знаю, что это так.
И точно такая же проблема с поиском видео.
Я искал весь интернет, но я не нашел никакого решения.
Кто-нибудь знает решение?
С уважением,
EDIT
Я забыл упомянуть следующее:
Если я делаю только изображение в виде пути поиска: $img = $html->find('img');
, я получаю результаты.
Но проблема в том, что если я это сделаю, то получу результаты, которые вообще не актуальны.
Например, если я ищу Трампа, я получаю картину пляжа и несколько фотографий помидоров, что я считаю совершенно нелепым.
РЕДАКТИРОВАТЬ 2
Я обнаружил, что $ html-> load_file () не работает.
Я проверил это, запустив это:
if(!$html->load_file($bing)) {
echo 'load file doesn't work....';
}
Это может быть потому, что у меня есть несколько раз $ html = ...
Как это:
if($_GET['type'] == 'default') { // rest of the code }
else if($_GET['type'] == 'vids') { // rest of the code }
else if($_GET['type'] == 'images') { // rest of the code }
else if($_GET['type'] == 'news') { // rest of the code }
И в каждом операторе else-if он начинается с $html = simple_html_dom();
Но это также заканчивается $html->clear(); unset($html);
Но если я проверю, работает ли $html->clear(); unset($html);
так:
if($html->clear()) {
unset($html);
echo 'clear worked!';
}
else {
echo 'clear didn't work :(';
}
Понятно: Clear не работал :(
Так что это означает, что что-то не так с $html->load_file();
и $html->clear();