Google Sheets Import XML - Вставить динамический запрос c, если ячейка заполнена - PullRequest
1 голос
/ 19 января 2020

Я использую Google Sheets в качестве скребка для видео на YouTube. Я хотел бы сделать лист еще более динамичным c, но, похоже, он не работает.

Например, я хотел бы написать «Как усыпить моего ребенка» в качестве поискового запроса. поэтому я бы написал этот запрос в H6. Если H6 уже заполнен, я бы хотел динамически вставить этот запрос в функцию импорта XML.

Это то, что у меня уже было, но я не могу заставить это работать.

=ARRAYFORMULA("https://www.youtube.com"&QUERY(QUERY(UNIQUE(
 IMPORTXML("https://www.youtube.com/results?search_query=**{{dynamicInsertion}}**","//a/@href")),
 "where Col1 contains '/watch?v='"),"limit 50"))

Ответы [ 2 ]

2 голосов
/ 19 января 2020

попробовать:

=ARRAYFORMULA("https://www.youtube.com/"&QUERY(IMPORTXML(
 "https://www.youtube.com/results?search_query="&H6, "//a/@href"), 
 "where Col1 matches '/channel.+|/watch.+|/user.+|/results.+' 
  order by Col1 desc"))

enter image description here


ОБНОВЛЕНИЕ:

=ARRAYFORMULA("https://www.youtube.com/"&QUERY(UNIQUE(IMPORTXML(
 "https://www.youtube.com/results?search_query="&H6, "//a/@href")), 
 "where Col1 matches '/channel.+|/watch.+|/user.+|/results.+' 
  order by Col1 desc limit 50"))

0

0 голосов
/ 22 января 2020

для очистки за пределы первой страницы бесконечной прокрутки:

=QUERY(UNIQUE(QUERY({
 IMPORTXML("https://www.ecosia.org/videos?q="    &SUBSTITUTE(A1, " ", "+"), "//a/@href");
 IMPORTXML("https://www.ecosia.org/videos?p=1&q="&SUBSTITUTE(A1, " ", "+"), "//a/@href");
 IMPORTXML("https://www.ecosia.org/videos?p=2&q="&SUBSTITUTE(A1, " ", "+"), "//a/@href");
 IMPORTXML("https://www.ecosia.org/videos?p=3&q="&SUBSTITUTE(A1, " ", "+"), "//a/@href");
 IMPORTXML("https://www.ecosia.org/videos?p=4&q="&SUBSTITUTE(A1, " ", "+"), "//a/@href");
 IMPORTXML("https://www.ecosia.org/videos?p=5&q="&SUBSTITUTE(A1, " ", "+"), "//a/@href");
 IMPORTXML("https://www.ecosia.org/videos?p=6&q="&SUBSTITUTE(A1, " ", "+"), "//a/@href");
 IMPORTXML("https://www.ecosia.org/videos?p=7&q="&SUBSTITUTE(A1, " ", "+"), "//a/@href");
 IMPORTXML("https://www.ecosia.org/videos?p=8&q="&SUBSTITUTE(A1, " ", "+"), "//a/@href");
 IMPORTXML("https://www.ecosia.org/videos?p=9&q="&SUBSTITUTE(A1, " ", "+"), "//a/@href")}, 
 "where Col1 contains 'watch'")), "limit 50", 0)

0

...