Украдены из Вот.
Я хотел бы иметь возможность получить содержимое из этого окна и с помощью PHP. Я хотел бы знать, что вы все думаете, если бы я использовал php Simple HTML DOM Parser(как этот пример), или используйте Функция пользовательского поиска Google. Я специально пытаюсь достать данные из этой «коробки» и хотел бы знать, что думает сообщество.
РЕДАКТИРОВАТЬ!!! Я также хотел бы добавить, что я буду использовать функцию «определить:» (после слова) Google. Поскольку словарь Google больше не поддерживается, я хотел бы использовать эту функцию.
Спасибо за вашу помощь!!!
Я пишу вопрос&Парсер и в настоящее время я использую несколько разных методов. Похоже, что пользовательский API поиска не возвращает конкретные ответы, поэтому я анализировал обычный веб-поиск. Как и в случае с веб-очисткой, вы зависите от архитектуры страницы, но вот пара методов, с которыми я до сих пор добивался успеха.
Прежде всего, я внедряю jQuery. Это потому, что я использую node.js и эмулятор квази-dom, но любой механизм выбора на другой платформе, очевидно, будет работать.
(function(){
var newscript = document.createElement('script');
newscript.type = 'text/javascript';
newscript.async = true;
newscript.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js';
(document.getElementsByTagName('head')[0]||document.getElementsByTagName('body')[0]).appendChild(newscript);
})();
Я обнаруживаю прямые ответы как это:
$('#center_col').find("[role='heading']").children('div').first().text()
Другой распространенный тип карта как вы дали пример выше. Я предполагаю, что мог бы быть шаблон элемента / атрибута, который мог бы быть работоспособным, как метод выше, но я понял, что намного легче следовать за аспектами дизайна элементов, так как все атрибуты скремблированы, и определенные эстетики менее вероятны сменить ИМО.
$('#center_col').find('div').filter(function() {
return $(this).css('box-shadow') == "rgba(0, 0, 0, 0.2) 0px 1px 4px 0px";
}).find('span').first().text()
Удачи!
Других решений пока нет …