[解決済み] ブラウザの拡張機能を使ってGoogle Docからテキストを抽出し、セマンティック改行を保持したい
質問
スペルチェッカーのように動作するブラウザ拡張機能(FirefoxとChrome)を持っています。この機能は
input
と
textarea
であり、さらにほとんどの
contenteditable
要素を使用します。しかし、Google Docsは
\n
は、視覚的な理由から、意味的な段落や文章を得ることが困難になっています。
例:本文
A Long Heading That Visually Wraps With No Period On The End
A sentence that runs long enough that it visually wraps in Google Docs and ends up with extra line breaks. Another shorter sentence.
Google Docs の DOM から抽出したものを
JSON.stringify
はこのように表示される。
"\"A Long Heading That Visually Wraps \\nWith No Period On The End \\n \\nA sentence that runs long enough that it visually wraps in Google Docs and ends up with extra \\nline breaks. Another shorter sentence.\""
注意
\\n
の前に
With
というのはセマンティックではないのですが、それなら
\\n \\n
の後に、セマンティックな見出しがあり、その後に
\\n
の前に
line
というのは、これもセマンティックではありません。
この具体的なケースでは、次のようになります。
text.replace(/\n \n/g, '!!!').replace(/\n/g, '').replace(/!!!/g, '\n\n')
を使えば、(より)意味のあるテキストを返すことができます。
ただし、ダブル
\n
の後ではうまくいきません。
いかにもろいか、おわかりいただけると思います。
Google ドキュメント用の JavaScript DOM/API で、ドキュメントのクリーンなテキストを取得するために、余分な認証を必要としないものはありますか?ユーザーはすでにこの拡張機能をインストールしており、Google Drive用のアプリも認証しなければならないのは、実行不可能です。
または、JavaScriptのセンテントークナイザーはありますか?そうでなければ、NTLK/spaCyセンテントークナイザーを使用して、Python APIエンドポイントに生のテキストを出荷する必要がありそうです。
解決方法は?
データを抽出したい文書が公開されているかどうかによって、アプリケーションはクリーンデータを抽出するために認証を必要とする場合があります。
いずれにせよ Apps ScriptのDocument App または、さらに ドキュメントAPI は、クリーンなボディデータを取得し、さらにタイトルやサブタイトルを選択するための優れたオプションであり、単にドキュメントのテキストデータを抽出するだけでなく、さらなる機能性を提供します。
<ブロッククオート注意事項 : であるドキュメントにアクセスしようとすると ではなく を使用する必要があります。 oAuth 2.0 . これは公開リソースではないので、このリソースにアクセスできるアカウントの認証情報を使用する必要があります。
お役に立てたでしょうか?他に何か必要なものや、理解できなかったことがあれば教えてください :)
関連
-
[解決済み】フォームコントロールの値アクセサがない
-
[解決済み] Uncaught Invariant Violation: 前のレンダリング中よりも多くのフックをレンダリングした
-
[解決済み】XMLHttpRequestモジュールが定義されていない/見つからない
-
[解決済み] エラー。モジュールhtmlが見つからない
-
[解決済み】npm install --legacy-peer-deps は具体的に何をするのですか?どんなときに推奨されるのか/どんな使用例が考えられるのか?
-
[解決済み] ローカルファイルを開くことができません - Chrome: ローカルリソースのロードが許可されていません
-
[解決済み】DOMException: サポートされているソースが見つからなかったため、読み込みに失敗しました。
-
[解決済み】Vueのテンプレートまたはレンダー関数が定義されていない 私はどちらも使っていないのですが?
-
[解決済み】'useState' が定義されていない no-undef React
-
[解決済み] textareaからテキストを取得する際、改行を維持するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】document.getElementByIDは関数ではありません。
-
[解決済み】XMLHttpRequestモジュールが定義されていない/見つからない
-
[解決済み】WebpackとBabelで「このファイルタイプを扱うには適切なローダーが必要な場合があります。
-
[解決済み】Reactのeslintエラーはpropsの検証で見つからない
-
[解決済み】React.jsの配列の子要素のユニークキーを理解する
-
[解決済み】リソースはドキュメントと解釈されるが、MIMEタイプはapplication/zipで転送される
-
[解決済み】PhantomJS 2.1.1を使用してReactJSアプリケーションをレンダリングできない理由とは?
-
[解決済み】HTMLの最初の行に予期しないトークン<がある。
-
[解決済み】Vueが定義されていない
-
[解決済み] [Solved] Uncaught Invariant Violation: 前のレンダリング中よりも多くのフックをレンダリングする