1

バックグラウンド

Google スプレッドシートを使用して、一連の文字列が Google 検索に表示されるかどうかを確認しています。

=IMPORTXML(CONCATENATE("https://www.google.com/search?num=20&q=",CHAR(34), A1, CHAR(34)), CONCATENATE("count(//span[contains(., '",A1,"')])")),"THINKING")

カウントが返されると、次のセルが同じ手順を実行します。

問題

ただし、さまざまな数のクエリの後、次のセルは次のように表示されます。

エラー - URL を取得できませんでした: https://www.google.com/search?num=20&q= "searchquery"

試みられた解決策

この理由を見つけようとしましたが、今のところできません。指摘すべきいくつかのこと:

  • これは、約 1.5 か月前に完全に機能していました。それ以降、Google 側で何が変わったのかはわかりません。
  • これは最初のクエリで発生することがあります。これは、問題がリクエストの頻度に関するものではない可能性が高いことを示しています。
  • また、このまったく同じタスクが 1 か月前に正常に機能し、何百ものリクエストがカスケードされました。これを古い Google スプレッドシートで実行してみましたが、XML リクエストは 50 に制限されています。

何か案は?

4

2 に答える 2

2

XPath式の最後に文字列「THINKING」がありますが、これは実際には存在しないはずです。

=IMPORTXML(CONCATENATE("https://www.google.com/search?num=20&q=",CHAR(34), "Adidas", CHAR(34)), CONCATENATE("count(//span[contains(., '", "Adidas" ,"')])"))

おそらく、呼び出しの外側に文字列「THINKING」を追加するつもりでしたIMPORTXML()か?

しかし、それについて本当に興味深いのは、上記の式が返されることです

5

同じの単純化されたバージョン(連結を廃止):

=IMPORTXML("https://www.google.com/search?num=20&q='Adidas'", "count(//span[contains(., 'Adidas')])")

収量

6
于 2015-04-13T09:01:54.617 に答える