#Google #API を叩いて #Qiita の自分の全記事を英語翻訳して新規投稿する例 ( #python + #shell ) (
I did today
Qiitaの前のアカウントの記事をGoogle英語翻訳して今のカウントで新規投稿しました (175記事ぐらい)
- All my Qiita articles translate Japanese to Englisha and create many posts.
- btw this article written by my hand without automatic translmation.
Code - For execute scripts
Code - For Google translate library
Code - For Qiita library
Do
- Translate my old account's 175 ariticles From Japanese to English.
Why
Qiitaはちらほら英語ユーザーも使ってるみたいです
- I know some English users on the our Qiita.
- I wanna give some help for global users from they Googling.
How
いろいろAPI叩きました
- Use Qiita API and Google Translate API and use python and shell and DO IT WELL.
- https://qiita.com/api/v2/docs
- https://cloud.google.com/translate/docs/
Steps 1
Qiita API で yinaura の記事を全て取得して、JSONをlogに記録しておきます
記事情報は public なので、特に認証をおこなう必要はありません
- Get All items as JSON from Qiita
Step 2
Google翻訳が文字数当たりの課金なので shell + jq コマンドとかで、翻訳対象文字数を数えてみました
- Display preview of targets of translation items.
- Count all characters total translation
- Check my pay money how much cost for do it
100万文字でも 2000円ちょいです、楽勝ですよね
Step 3
いったん Markdown を HTML変換してから Google 翻訳にかけてます、そうでないとMarkdown style が崩れてしまうので
- Convert Markdown to HTML because Google Translate API break Markdown style
- I use ruby gem 'redcarpet'
Step 4
Json 形式を保ったまま Google 翻訳にかけます
- Google translate and generate json
$ QIITA_ITEMS_USER_NAME=yinaura FILTER_START=1 FILTER_END=5 ./translate-all.sh
一気に翻訳しようとして失敗するのが怖かったので、3記事、次の7記事、次の10記事、次の30記事‥というように少しずつ試しました
Step 5
最後は HTML形式をMarkdown形式に戻します、ここでもデータはJSONを保ちます
- revert Translated HTML to Markdown
- i Use ruby gem 'reverse_markdown'
Step 6
python で標準入力に JSON を受け取って複数の新規投稿をおこなう簡易スクリプトを作っているので、そいつに任せます
- Hit Qiita API and create posts
- keep all Qiita tags
- Add link to Original Japanese version item
Check Traffic on GCP
GCP でのトラフィックもチェックは欠かせないですよね
You can see many referral "Linked from "links on this article
この記事にリンク元がたくさんついているのが分かると思います
NExt
中国ユーザーもちらほらいると聞いたので、そちらもチャレンジしてみようと思います
- this account Japanese items to English
- JApanese to Chinese
今このアカウントでの日本語記事も1000個はあるので、次はぼちぼち定時実行するなどして回していこうかなと思っています
「翻訳済み」の管理をタグで実現などしようかとも思いましたが、コストがかかりそうなので、とりあえずやってません
MAke our Qiita Global World WIDE!
海外にQiitaみたいなサービスってないよね?ということをTwitterで人と話したりしていました
unn you think its Too Noisey?
sry
Read Qiita trend super Valuable items but not mine lol
OThers
こんなのもやってみたいけれど
- Qiitaにバックアップシステムがないので、全記事をGithub ISsueに投稿し直して保全とか
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
公開日時
2019-04-16
Discussion