Denoによるスクレイピング


スクレイピング第二版

前回、WEBスクレイピングのDenoバージョンです。
上記はNodejsはファイル地獄が有名ですが今回は克服?を目的にしています。
今回も毎回恒例(雑さがチラホラ)なので、我慢しながらご覧下さい。

▼以下投稿時の実行環境▼
MacOS : macOS CAtalina v 10.15.7 ( 10年目 MacBookAir )
Deno  : deno 1.18.0

Deno install

Denoをまずインストールします。

terminal-bash
curl -fsSL https://deno.land/x/install/install.sh | sh 
.
.
.
export DENO_INSTALL="/$HOME/.deno"
export PATH="$DENO_INSTALL/bin:$PATH"

手動で追加します。
理想は~/.zshrc に記載して、sourceで反映です。
※MyPCに導入しているものを把握する為に私は記載しています。

check!

deno -V
deno 1.18.0

バージョンが表示されれば終わりです。

スクレイピング準備

ここからが本題です。
流れとしては、HTMLソース取得→スクレイピングとなります。

・axiod
・cheerio
axiodは名前からAxios亜種と分かりますね。
cherioはnodejsのcherioのDenoバージョンです。

ディレクトリ構成も一応掲載

/-
 ∟ index.js

こちらが、実行ファイルです。

index.js
import axiod from "https://deno.land/x/axiod/mod.ts";
import { cheerio } from "https://deno.land/x/cheerio/mod.ts";

const url = 'https://news.google.com/search?q=technology&hl=ja&gl=JP&ceid=JP%3Aja'

axiod.get(url).then(({data})=>{
    const $ = cheerio.load(data)
    const titles = $('.DY5T1d')
    $(titles).each((index,element ) => {
       const title = $(element)
       console.log(`[${index+1}] : ${title.text()}`)
    })
})

結果はこちら 、2022年03月20日現在

[1] : サグリ株式会社 代表取締役CEOの坪井 俊輔がMIT Technology Review 世界を変えるイノベーター50人に認定:時事ドットコム
[2] : EcoFlow公式Yahoo!ショッピング店が「PayPayモール」へ昇格
[3] : Digi-Key Electronics、Global Connector Technology(GCT)の2021年「年間ディストリビュータ」賞を受賞
[4] : Beijing Roborock Technology、2種類のカメラを搭載したロボット掃除機「Roborock S7 MaxV Plus」と「Roborock S7 MaxV」を発売(アスキー) - Yahoo!ニュース
[5] : FANTAS technologyとユニメディア、「本人確認」ができるKYCコンソーシアム設立へ(CNET Japan) - Yahoo!ニュース
[6] : NTT DATA Technology Foresight 2022を公開 | NTTデータ - NTT DATA
[7] : グローバルテクノロジーイベント「Fujitsu ActivateNow: Technology Summit 2022」を開催 : 富士通
[8] : インターステラテクノロジズ株式会社 - Interstellar Technologies Inc.
[9] : RanMarine Technology、水上ドローン「WasteShark」展示。水上の汚染物質除去に活躍[CES2022]
[10] : 英Mura Technologyの廃プラケミカルリサイクルシステム
[11] : ソニーが「Sony Technology Day」で発表した8つの技術まとめ 映像/VR/超解像/プレステ5/触覚/3D音響/自動運転/LPWAなど
[12] : PKSHA Technology、AI SaaS事業の加速のためグループ会社2社の事業を統合・再編へ
[13] : 企業のビジョン形成をサポートする冊子 「THE TECHNOLOGY REPORT」創刊 | Webマガジン「AXIS」 | デザインのWebメディア
[14] : 多摩美術大学、一橋大学と連携して価値創造人材育成プログラム「Technology Creatives Program(通称テックリ)」を2022年度から開講
[15] : Shenzhen Upin Technology Co., Ltd.のプレスリリース|PR TIMES
[16] : EU-US Joint Technology Competition Policy Dialogue | インサイト
[17] : 「Nutanix Technology Champions 2022」プログラムにおいて、国内唯一の受賞
[18] : Next DX - IBM AI x Cloud Technology Day
[19] : PwCコンサルティング、Technology Laboratory 活動拠点を開所 | PwCコンサルティング合同会社
[20] : Payment Technologyは、早期入金型請求書発行サービス「ハヤメル」を3月14日にリリースし、利用企業の先行募集を開始いたします。
[21] : PKSHA Technology、テクノロジー企業成長率ランキング「2021年 日本テクノロジー Fast 50」で13位
[22] : BtoB後払いサービスの株式会社Payment Technologyが、総額約4億円の資金調達を実施いたしました。
[23] : G1 Technology、ビットスター社から新発売のリモートデスクトップサービス「remowa(リモワ)」に技術採用が決定【G1 Technology株式会社】
[24] : Technology × Businessの動画プラットフォーム「Ledge Webinar」を公開
[25] : SAP、「Business Technology Platform」に新たなローコード/ノーコードツール
[26] : Symphony Technology Group、Extended Detection and Response(XDR)の新ブランド Trellixの始動を発表
[27] : TBM(Technology Business Management)とは何か?誕生の背景と概要
[28] : 在宅介護で最大企業が誕生、米Honor Technology社
[29] : 産業用ロボット・自動化システムの専門展「ROBOT TECHNOLOGY JAPAN2022」愛知県で開催へ 出展社募集
[30] : Payment Technologyが弁護士ドットコムと販売代理店契約を締結。クレジットカード決済型振込代行サービスを「税理士ドットコム」の顧客に対して案内。
[31] : 新ヘッドホンブランド「GENESIS SOUND TECHNOLOGY」始動。第1弾製品のクラファンを開始 - PHILE WEB
[32] : 新卒の即戦力化を目指す仕掛けとは?FANTAS technologyの目指すニューノーマルな採用手法と育成プログラムの裏側
[33] : 梶山経済産業大臣がGlobal Technology Governance Summitに出席しました (METI
[34] : BEYOND TECHNOLOGY 「未来を描く力」の高め方
[35] : FANTAS technology 経営体制の変更と「CxO制度」を導入、成長戦略強化のためCX本部を新設、権限委譲による意思決定の迅速化を図る
[36] : 【新商品発売】日本上陸決定!ロンドン発新鋭デジタル製品ブランドNothing新作ワイヤレスイヤホンear(1)ついに詳細公開!日本語公式サイトも本日オープン!
[37] : 国内にいながらViva Technology(パリ開催)参加の効果を得られる、Viva Technology主催者公認サイドイベントを札幌で開催!
[38] : DXを阻むITとOT(Operational Technology)の文化の壁を乗り越えるには?
[39] : INNOVATION & DXで日本を加速させる、「DN Technology & Innovation株式会社」を創業!
[40] : NTT DATA Technology week 2020
[41] : NTT DATA Technology Foresight 2021 | NTTデータ - NTT DATA
[42] : 「えっすごい」ソニー初の“Technology Day”で公開したワクワクの未来技術
[43] : 【PKSHA Technology】高収益を生み出す大注目のAI上場企業に迫る | AI専門ニュースメディア AINOW
[44] : NTT e-Drone Technology始動 新HP開設、国交省「管理団体」にも登場 | DroneTribune
[45] : 欧州ベンチャーキャピタルEmerald Technology Venturesが運営するオープンイノベーションファンドへの出資
[46] : 科学・テクノロジー
[47] : SHENZHEN VIOFO TECHNOLOGY CO.,LTDのプレスリリース|PR TIMES
[48] : Juniper NetworksがボストンのAI SD-WAN企業128 Technologyを475億円で買収
[49] : クアルコム「Snapdragon Technology Summit」の基調講演をオンライン配信
[50] : GoogleがCornerstone Technology買収を発表 メインフレームからGoogle Cloudへのマイグレーションサービス強化へ
[51] : Geolocation Technology社、2つの新技術によりIPアドレスからの組織判定が大幅向上。動的IPアドレスやテレワーク先からのアクセスにも組織判定可能に。
[52] : Geolocation Technology社、全従業員を対象にテレワークの常態化と業務環境整備費用の支給を決定
[53] : “組込み技術”から、“エッジテクノロジー”の最先端へ。 ― ET/IoT Technology 2018 の見どころと巡りかた
[54] : 株式会社Lightblue Technologyのプレスリリース|PR TIMES
[55] : The Global Information Technology Report 2016
[56] : 「株式会社Fan's」が「FANTAS technology株式会社」へ社名変更
[57] : KanDao Technology Co.,Ltd.のプレスリリース|PR TIMES
[58] : Payment Technologyのプレスリリース|PR TIMES
[59] : 博報堂DYグループが「Sports Technology Lab」を設立。Preferred Networksの技術を活用しスポーツ × AIを加速
[60] : 医療テクノロジーにおけるイノベーションスコアカード(Medical Technology Innovation Scorecard)
[61] : Seagate Technology LLCのプレスリリース|PR TIMES
[62] : アマゾンが倉庫用ロボットのスタートアップCanvas Technologyを買収
[63] : Counterpoint Technology Market Research Limitedのプレスリリース|PR TIMES
[64] : WorkTechに関するオンラインイベント「Grooves Work Technology Summit」をAPACと日本で開催
[65] : Geolocation Technology、静岡県三島市と地方創生に関する包括連携協定を締結
[66] : ネットモールで充電式掃除機用として販売されたSHENZHEN OLLOP TECHNOLOGY社製バッテリーパックの使用を中止してください (METI
[67] : Keyshare Technology「Kimon」セルフィードローン、アメリカ市場で発売へ[CES2017]
[68] : 株式会社One Technology Japanのプレスリリース|PR TIMES
[69] : RIETI - Differences in Science Based Innovation by Technology Life Cycles: The case of solar cell technology
[70] : 新価値領域(Future Technology) | Honda
[71] : RIETI - Understanding External Technology Sourcing in New Product Development Projects: Bilateral vs. unilateral contracts
[72] : 株式会社Relation Technologyのプレスリリース|PR TIMES
[73] : FonePaw Technology Limitedのプレスリリース|PR TIMES
[74] : RIETI - Determinants of Demand for Technology in Relationships with Complementary Assets in Japanese Firms
[75] : ESS Technologyの技術幹部に聞く、新フラグシップDAC「ES9038PRO」進化のポイント (1/3) - PHILE WEB

Denoが高速な理由

Deno本体はRust、実行時に必要なライブラリ。機能をダウンロードします。
ですのでNodejsのような不要な読み込みローディングが発生しません。

結果的にnode_modulesなどのファイル爆弾やある日突然にモジュールエラー等は起きません。
ラブストーリーは突然になら良いですが、エラーは勘弁願いたいものです。

最後に

今回も前回同様のものを作りました。
Nodejsの代替として生まれたDeno今後が楽しみです。

こちらの他にも
WEBフレームワークもあります。

DenoExpress

こちらはExpress.jsのDeno版です、シンプルで使い易い。
※現状、リクエストが2重で送信され、サーバー負担があります。
制御して対応する他なく、不満で制作で見送り。

Oak

私の愛用フレームワークです。
CROS対策もライブラリ1つ付加させるだけで対応可能です。

どちらもDeno公式から辿れるので、
ドキュメントやバージョン確認などそれなりに情報収集が可能です。

DenoLife を楽しんでいきましょう!!