#google-sheets #google-sheets-importxml
#google-sheets #google-sheets-формула
Вопрос:
Я прочитал статью, в которой объяснялось, как в Google Sheets вы можете использовать функцию ImportXML () для доступа к веб-странице, извлечения с нее данных и помещения результатов в ячейку. Например, если я помещу URL веб-сайта в ячейку A1 и следующую формулу в ячейку A2:
=importxml(A1,"//meta[@name='description']/@content")
затем A2 покажет содержимое тега meta description на веб-странице, указанной в A1.
Я хотел бы использовать аналогичный подход, но поместить запрос Google в ячейку A1.
Я скопировал следующую формулу (которую я нашел в статье в британском журнале) в ячейку A1:
=ArrayFormula(regexreplace(regexextract(importxml("https://www.google.co.uk/search?q=trade balanceamp;pws=0amp;gl=UKamp;num=50","//h3[@class='r']/a/@href"), "http.*amp;sab"), "amp;sa", ""))
Он заполнил 50 строк данных.
Затем я изменил параметр num на «num = 20», и ответ был «Не удалось получить URL …»
Затем я ввел ту же формулу в другую ячейку, заменив URL на «https://www.google.com» и параметр gl с «gl= US», и ответ снова был «Не удалось получить URL …»
Похоже, что Google в Великобритании может разрешить вам делать это периодически, а Google в США — нет.
Кто-нибудь может предложить альтернативу? Вам нужен ключ для получения разрешения?
Кстати, я читал на форуме, что вы можете использовать пользовательский поисковый API Google и UrlFetch() для сбора результатов поиска и заполнения таблицы Google. Но прежде чем попробовать это, я подумал, что сначала спрошу о возможности использования ImportXML.
Спасибо.
Комментарии:
1. итак, какой веб-сайт вы хотите очистить конкретно? потому что это зависит от каждого сайта, возможно это или нет
2. Спасибо за ответ. Я хочу очистить страницу результатов поиска Google. В моем примере я использовал вызов этой функции: importxml(» google.co.uk /…
Ответ №1:
В последнее время Google блокирует поисковые запросы, сделанные как из Apps Scripts, так и из Google Sheets, хотя запросы выполняются с одного из их собственных IP-адресов. Вероятно, они делают это, чтобы предотвратить удаление. В некоторых случаях это работает, и вы можете очистить поиск Google, однако время ограничено, поэтому результаты исчезнут через несколько минут / часов. Вы можете попробовать очистить Bing, DuckDuckGo или другие поисковые системы.
Комментарии:
1. Спасибо. Я где-то читал, что пользовательский поисковый API Google и UrlFetch() — это еще один способ очистки поисковой выдачи, но я их еще не изучал. Есть идеи, могут ли они сработать?
2. Я рассмотрю возможность извлечения данных из Bing. Спасибо, что упомянули об этом.
3. понятия не имею о пользовательском поисковом API Google и UrlFetch (). никогда не тестировал
4. Если вы знакомы с python, возможно, вы можете попробовать библиотеку googlesearch, которая извлекает URL-адреса с ключевыми словами для поиска всего несколькими строками кода