質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

3483閲覧

GASでCheerioライブラリを利用し、WEBに表示されたテキストを取得する方法を教えてください!

babybloom2020

総合スコア6

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/05/27 00:42

Google Apps Scriptの「Cheerio」ライブラリを使い、下記サイトの検索結果をテキストで取得したいのですが、Logger.logの結果が「情報」となり取得できません。

tagの指定方法等、WEBで検索しトライしてみましたが、全く改善できないので方法等ご教授いただけると助かります。

(利用サイト)
https://related-keywords.com/

(検索ワード)
携帯電話

(実現したいこと)
検索結果テキストを取得したい。

※利用サイト、検索結果を一覧で取得(CSV)できるボタンが配置されています。
こちらからGASでCSVを取得する方法もわかればご教授いただけると助かります。

googleAppsScript

1function myFunction() { 2 3 var rackoURL = "https://related-keywords.com/result/suggest?q=携帯電話" 4 var html = UrlFetchApp.fetch(rackoURL).getContentText(); 5 6 var $ = Cheerio.load(html); 7 var content = $("li.vdu5kk-0.sc-1p6awuf-0.drqTAc a p"); 8 Logger.log(content); 9 10}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

うーん、このサイトはGASではスクレイピングできないかもしれません。

gas

1 var rackoURL = "https://related-keywords.com/result/suggest?q=携帯電話" 2 var html = UrlFetchApp.fetch(rackoURL).getContentText();


この時点で、取れてないです ↓

gas

1Logging output too large. Truncating output. <!DOCTYPE html><html><head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#"><script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-59HNDQP');</script><meta name="viewport" content="width=device-width"/><meta charSet="utf-8"/><meta name="description" content="無料で使えるキーワードリサーチツール。一瞬でキーワードリサーチに必要な情報を収集してくれる、コンテンツ制作者のためのツールです。読者、視聴者が求める情報を把握してより良いコンテンツ作りを目指しましょう!"/><meta property="og:description" content="無料で使えるキーワードリサーチツール。一瞬でキーワードリサーチに必要な情報を収集してくれる、コンテンツ制作者のためのツールです。読者、視聴者が求める情報を把握してより良いコンテンツ作りを目指しましょう!"/><meta property="og:url" content="https://related-keywords.com"/><meta property="og:image" content="https://related-keywords.com/img/rakko_keyword_ogp.png"/><meta property="og:site_name" content="ラッコキーワード"/><meta property="og:locale" content="ja_JP"/><meta name="twitter:card" content="summary"/><link rel="shortcut icon" href="/favicon.ico"/><link rel="apple-touch-icon" href="/apple-touch-icon.png"/><link rel="icon" type="image/png" href="/android-chrome-192x192.png"/><meta name="theme-color" content="#ffffff"/><meta name="thumbnail" content="https://related-keywords.com/img/keyword_meta_thumbnail.png"/><link href="https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&amp;display=swap" rel="stylesheet"/><title>「携帯電話」のGoogleサジェストキーワード | ラッコキーワード</title><meta property="og:title" content="「携帯電話」のGoogleサジェストキーワード | ラッコキーワード"/><meta property="og:type" content="article"/><meta name="robots" content="noindex"/><link rel="preload" href="/_next/static/css/58ab374a8ed459fe2cf2.css" as="style"/><link rel="stylesheet" href="/_next/static/css/58ab374a8ed459fe2cf2.css" data-n-g=""/><noscript data-n-css="true"></noscript><link rel="preload" href="/_next/static/chunks/main-ca98dfa84b21f949739b.js" as="script"/><link rel="preload" href="/_next/static/chunks/webpack-3b9fcfc1da66108518ff.js" as="script"/><link rel="preload" href="/_next/static/chunks/framework.a3ab6d70963b928e4674.js" as="script"/><link rel="preload" href="/_next/static/chunks/cb1608f2.4dda7ad59ec6c7df498d.js" as="script"/><link rel="preload" href="/_next/static/chunks/a9a7754c.c2cfe29f55a3da5a58a2.js" as="script"/><link rel="preload" href="/_next/static/chunks/8d75b307a9b14936d6c4bb66ba8474666761df78.ee18bf10c743fbbef162.js" as="script"/><link rel="preload" href="/_next/static/chunks/1da1e8b53448ecce4c08291860b100a345af68ca.ff6594530a97a4492185.js" as="script"/><link rel="preload" href="/_next/static/chunks/9672eac4729dc1b2542d3011565a389f25990f77.4bad7574bd96c3c9d15b.js" as="script"/><link rel="preload" href="/_next/static/chunks/2eacb8b37f0bee3cd5173181beecf897cbb56e7c.10e9f1958b7c759f5969.js" as="script"/><link rel="preload" href="/_next/static/chunks/224c111be52cc635142ae7f9f88d5888191add0f.cf6fa4d9b9b12c8f64e9.js" as="script"/><link rel="preload" href="/_next/static/chunks/pages/_app-642c119e2fbbf5d62d28.js" as="script"/><link rel="preload" href="/_next/static/chunks/pages/result/%5Bslug%5D-f4f20f535c341a2df133.js" as="script"/><style data-styled="" data-styled-version="5.1.1">.beHYnz{display:inline-block;box-sizing:border-box;height:30px;padding:7px 19px;background-color:#404148;border:#404148 1px solid;border-radius:5px;color:#ffffff;font-size:1rem;line-height:1;outline:none;cursor:pointer;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ 2.beHYnz:hover{background-color:#000000;border-color:#000000;}/*!sc*/ 3.beHYnz:disabled{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#e1e1e1;border-color:#e1e1e1;color:#919191;cursor:default;}/*!sc*/ 4.fEzwTV{display:inline-block;box-sizing:border-box;height:30px;padding:7px 19px;background-color:#ffffff;border:#404148 1px solid;border-radius:5px;color:#404148;font-size:1rem;line-height:1;outline:none;cursor:pointer;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ 5.fEzwTV:hover{background-color:#efefef;border-color:#404148;}/*!sc*/ 6.fEzwTV:disabled{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#e1e1e1;border-color:#e1e1e1;color:#919191;cursor:default;}/*!sc*/ 7data-styled.g6[id="su273m-1"]{content:"beHYnz,fEzwTV,"}/*!sc*/ 8.eSLDAm{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;box-sizing:border-box;height:32px;width:32px;padding:10px;background-color:#404148;border:none;border-radius:30px;color:#ffffff;font-size:0.9rem;outline:none;cursor:pointer;}/*!sc*/ 9.eSLDAm:hover{background-color:#000000;}/*!sc*/ 10.eSLDAm:disabled{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#e1e1e1;color:#919191;cursor:default;}/*!sc*/ 11.eNJvrA{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;box-sizing:border-box;height:44px;width:44px;padding:10px;background-color:transparent;border:none;border-radius:30px;color:#404148;font-size:1.7rem;outline:none;cursor:pointer;}/*!sc*/ 12.eNJvrA:hover{color:#000000;}/*!sc*/ 13.eNJvrA:disabled{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#919191;cursor:default;}/*!sc*/ 14data-styled.g14[id="sc-7q5dgg-0"]{content:"eSLDAm,eNJvrA,"}/*!sc*/ 15.klCeXR{width:158px;display:inline-block;}/*!sc*/ 16data-styled.g16[id="sc-1j7gln3-0"]{content:"klCeXR,"}/*!sc*/ 17.iXZwUq{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ 18data-styled.g20[id="b8ahuv-0"]{content:"iXZwUq,"}/*!sc*/ 19.QBSms{font-size:1rem;padding:7px;border-radius:5px;border:none;width:auto;border-color:#e0e0e0;color:#404148;height:30px;width:261px;border-radius:5px 0 0 5px;padding-right:28px;outline:0;box-sizing:border-box;}/*!sc*/ 20.QBSms::-webkit-input-placeholder{font-size:1rem;}/*!sc*/ 21.QBSms::-moz-placeholder{font-size:1rem;}/*!sc*/ 22.QBSms:-ms-input-placeholder{font-size:1rem;}/*!sc*/ 23.QBSms::placeholder{font-size:1rem;}/*!sc*/ 24.QBSms:disabled{background-color:#f2f2f2;}/*!sc*/ 25@media screen and (max-width:896px){.QBSms{font-size:16px;}}/*!sc*/ 26data-styled.g21[id="b8ahuv-1"]{content:"QBSms,"}/*!sc*/ 27.bYIcen{height:30px;padding:7px;border-radius:0 5px 5px 0;box-sizing:border-box;}/*!sc*/ 28data-styled.g22[id="b8ahuv-2"]{content:"bYIcen,"}/*!sc*/ 29.QzXuv{position:absolute;top:5px;right:30px;border:none;background:none;color:#e1e1e1;font-size:1.2rem;outline:none;cursor:pointer;}/*!sc*/ 30@media screen and (max-width:896px){.QzXuv{right:30px;}}/*!sc*/ 31.QzXuv:hover{color:#919191;}/*!sc*/ 32data-styled.g23[id="b8ahuv-3"]{content:"QzXuv,"}/*!sc*/ 33.fapFXg.fapFXg{background-color:#e0e0e0;background-image:none;-webkit-animation:flash 1.2s linear infinite;animation:flash 1.2s linear infinite;}/*!sc*/ 34.fapFXg.fapFXg:not(:last-of-type){margin-bottom:7px;}/*!sc*/ 35@-webkit-keyframes flash{0%{opacity:1;}50%{opacity:0.5;}100%{opacity:1;}}/*!sc*/ 36@keyframes flash{0%{opacity:1;}50%{opacity:0.5;}100%{opacity:1;}}/*!sc*/ 37data-styled.g50[id="sc-86uzx1-0"]{content:"fapFXg,"}/*!sc*/ 38.lwBbE{position:fixed;bottom:15px;right:15px;z-index:2000;}/*!sc*/ 39data-styled.g56[id="sc-1opz6rd-0"]{content:"lwBbE,"}/*!sc*/ 40.izcTBS{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ 41.izcTBS

JSで動的にコンテンツを生成しているサイトだとGASで取得は難しいです。

このあたりのサードパーティ使うか、Python、node等で取らないと厳しいと思います。
https://phantomjscloud.com/

投稿2021/05/27 04:05

編集2021/05/27 04:06
Tatsunosuke

総合スコア599

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

babybloom2020

2021/05/27 04:57

回答ありがとうございます! chromeでソースを見たときに、ターゲットのテキストが見えていたので、取得できるとがんばっていましたが、動的なサイトは難しいんですね。。。勉強になりました! また、ご教授いただいた「phantomjscloud」でチャレンジしたところ ターゲットテキスト取得できました!ありがとうございます! 質問すべきか悩んでいましたが、思い切って質問してよかったです。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問