SE::Startpage::Videos - Startpage動画スクレイパー

スクレイパー概要
Startpage動画検索スクレイパー。
SE::Startpage::Videosスクレイパーを使用することで、動画リンクのデータベースを取得できます。Startpageの検索窓に入力するのと同様の形式でクエリを使用できます。
A-Parserの機能により、
SE::Startpage::Videosスクレイパーのスクレイピング設定を将来の使用のために保存(プリセット)したり、スクレイピングスケジュールを設定したりすることが可能です。自動クエリ増殖、ファイルからのサブクエリ置換、英数字の組み合わせやリストの総当たりを使用して、最大限の検索結果を取得できます。
内蔵されている強力なテンプレートエンジン Template Toolkit により、結果を必要な形式や構造で保存できます。これにより、結果に追加のロジックを適用したり、JSON、SQL、CSV などのさまざまな形式でデータを出力したりすることが可能です。
収集データ
- 動画へのリンク
- タイトルと説明
- 動画が配置されているチャンネル名
- 再生時間、視聴回数、公開日
- プレビュー(サムネイル)へのリンク
機能
- 取得ページ数の選択
- 国と言語の選択
- 検索フィルターの設定
ユースケース
- 自身のブログ、動画サイト、ドアウェイページなどのコンテンツ用動画収集
- テキストデータの収集
クエリ
クエリには、次のような検索フレーズを指定する必要があります:
Cats
Football
Waterfall
Speak in english
cars
クエリの置換
内蔵マクロを使用してクエリを増殖させることができます。例えば、膨大なフォーラムのデータベースを取得したい場合、複数の言語でいくつかのメインクエリを指定します:
forum
フォーラム
foro
论坛
クエリ形式で a から zzzz までの文字の組み合わせを指定します。この方法により、検索結果を最大限にローテーションさせ、多くの新しいユニークな結果を得ることができます:
$query {az:a:zzzz}
このマクロは、元の検索クエリごとに 475254 個の追加クエリを作成します。合計で 4 x 475254 = 1901016 個の検索クエリになりますが、これは A-Parser にとって全く問題ありません。毎分 2000 クエリの速度であれば、このタスクは約 16 時間で処理されます。
結果の出力例
A-Parser は内蔵のテンプレートエンジン Template Toolkit により柔軟な結果フォーマットをサポートしており、任意の形式や CSV、JSON などの構造化された形式で結果を出力できます。
デフォルト出力
結果フォーマット:
$serp.format('$link\n')
結果の例:
https://www.youtube.com/watch?v=RSU167EAeSo
https://www.youtube.com/watch?v=aEnz_yfqh1M
https://www.youtube.com/watch?v=meAAifp2gVM
https://www.youtube.com/watch?v=wrKYE-ee6fs
https://www.youtube.com/watch?v=ANCo_5jHzxc
https://www.youtube.com/watch?v=Zmp0_d1tIKA
https://www.youtube.com/watch?v=i-fdORnsri8
https://www.youtube.com/watch?v=DlouMGeN6fk
https://www.youtube.com/watch?v=tpZbARGLeXo
https://www.youtube.com/watch?v=G3PO41Xa_H8
CSVテーブルへの出力
結果フォーマット:
[% FOREACH item IN serp;
tools.CSVline(query, item.link, item.title, item.thumb, item.time);
END %]
結果の例:
test,https://www.youtube.com/watch?v=qsKao007sgc,"DER FINALE ""COUNTDOWN""... BEGINNT... - Minecraft TEST #07",https://www.startpage.com/av/proxy-image?piurl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FqsKao007sgc%2Fmqdefault.jpg&sp=1765464428Ta0fba5465bcc1e8e726171bf5cf9eea219b12f8e8d64b9f228175bdde99bfde4,34:12
test,https://www.youtube.com/watch?v=_YYmA7yrfNY,"Trypophobia Test",https://www.startpage.com/av/proxy-image?piurl=https%3A%2F%2Fi.ytimg.com%2Fvi%2F_YYmA7yrfNY%2Fmqdefault.jpg&sp=1765464428T97879232ecc62028405d9c9ebfd9ba81e96b228ae20616a7a0c69edb101939fb,0:15
test,https://www.youtube.com/watch?v=aEnz_yfqh1M,"Medical check up 🔥😱#army #shorts #viralshorts #viral #shotviral #motivation",https://www.startpage.com/av/proxy-image?piurl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FaEnz_yfqh1M%2Fmqdefault.jpg&sp=1765464428T31ee58263bf161a7d9cf0e0a0a94c31966f68e616b647c4a5b6b29f4acb0c520,0:15
test,https://www.youtube.com/watch?v=Zmp0_d1tIKA,"Do you have it? #phobia #test #scary",https://www.startpage.com/av/proxy-image?piurl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FZmp0_d1tIKA%2Fmqdefault.jpg&sp=1765464428Tf43ffbbbf2877507c6991cff0890716f9ad6e135b506f1301da471dce7895fa1,0:13
test,https://www.youtube.com/watch?v=wONUpazlG3Q,"WILLKOMMEN... IN... MEINER ""GESCHICHTE""?! - Minecraft TEST #01",https://www.startpage.com/av/proxy-image?piurl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FwONUpazlG3Q%2Fmqdefault.jpg&sp=1765464428Tcf4629bf55be8087826be33efcabc18c08654360570447a33712b4c76ff03484,48:36
test,https://www.youtube.com/watch?v=Wlp87kRnqTM,"DAS WAHNSINNIGE ENDE... DES... LETZTEN PROJEKTS... - Minecraft TEST #02",https://www.startpage.com/av/proxy-image?piurl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FWlp87kRnqTM%2Fmqdefault.jpg&sp=1765464428T0835851f32afc28039c234e0521f07f044aade47a6629d567ef77b737e540e88,54:48
test,https://www.youtube.com/watch?v=UejjAm8e-t4,"Grading Dave’s test #asmr #school #teacher #test #quiz #emojichallenge",https://www.startpage.com/av/proxy-image?piurl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FUejjAm8e-t4%2Fmqdefault.jpg&sp=1765464428T31a05c8e8cabc90bb2c447e49f3bea787557c86bb8c24ff9a9a7b90ffabcb277,0:46
test,https://www.youtube.com/watch?v=meAAifp2gVM,"FREE FIRE LIVE👻GARENA FREE FIRE💀GUILD TEST LIVE !! AYUSH FF #freefire #totalgaming #fflive",https://www.startpage.com/av/proxy-image?piurl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FmeAAifp2gVM%2Fmqdefault_live.jpg&sp=1765464428Tb77d8aa3d0477b19867bfd9f974d5c6ac31939f6dd44bf2510c29395184ee0ff,0:00:00
test,https://www.youtube.com/watch?v=jIyb8jS2vjc,"Grading Test #test #funny #memes #shorts",https://www.startpage.com/av/proxy-image?piurl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FjIyb8jS2vjc%2Fmqdefault.jpg&sp=1765464428T4bff903ea6c31c66bbcbc336e2c6770ef744e7b0839181992f414f1d7a2973bc,0:34
test,https://www.youtube.com/watch?v=58ObmKvWkCM,"Grading Ray’s test… #asmr #school #teacher #test #quiz #emojichallenge",https://www.startpage.com/av/proxy-image?piurl=https%3A%2F%2Fi.ytimg.com%2Fvi%2F58ObmKvWkCM%2Fmqdefault.jpg&sp=1765464428Tf9649a716210bf2088381a27808cd3fa681b93688decf3b0e654ab5bba17fe0c,0:56
SQL形式での保存
結果フォーマット:
[% FOREACH serp;
"INSERT INTO serp VALUES('" _ query _ "', '";
link _ "', '";
title.replace("\n", '\n') _ "', '";
channel _ "')\n";
END %]
結果の例:
INSERT INTO serp VALUES('test', 'https://www.youtube.com/watch?v=qsKao007sgc', 'DER FINALE "COUNTDOWN"... BEGINNT... - Minecraft TEST #07', 'Chaosflo44')
INSERT INTO serp VALUES('test', 'https://www.youtube.com/watch?v=_YYmA7yrfNY', 'Trypophobia Test', 'Ornithogalum Adseptentrionesvergentulum')
INSERT INTO serp VALUES('test', 'https://www.youtube.com/watch?v=aEnz_yfqh1M', 'Medical check up 🔥😱#army #shorts #viralshorts #viral #shotviral #motivation', 'Anil Commando Physical Academy ')
INSERT INTO serp VALUES('test', 'https://www.youtube.com/watch?v=Zmp0_d1tIKA', 'Do you have it? #phobia #test #scary', 'LUNATIKOV')
INSERT INTO serp VALUES('test', 'https://www.youtube.com/watch?v=wONUpazlG3Q', 'WILLKOMMEN... IN... MEINER "GESCHICHTE"?! - Minecraft TEST #01', 'Chaosflo44')
INSERT INTO serp VALUES('test', 'https://www.youtube.com/watch?v=Wlp87kRnqTM', 'DAS WAHNSINNIGE ENDE... DES... LETZTEN PROJEKTS... - Minecraft TEST #02', 'Chaosflo44')
INSERT INTO serp VALUES('test', 'https://www.youtube.com/watch?v=meAAifp2gVM', 'FREE FIRE LIVE👻GARENA FREE FIRE💀GUILD TEST LIVE !! AYUSH FF #freefire #totalgaming #fflive', 'AYUSH FREEFIRE')
INSERT INTO serp VALUES('test', 'https://www.youtube.com/watch?v=UejjAm8e-t4', 'Grading Dave’s test #asmr #school #teacher #test #quiz #emojichallenge', 'Teacher Tim')
INSERT INTO serp VALUES('test', 'https://www.youtube.com/watch?v=jIyb8jS2vjc', 'Grading Test #test #funny #memes #shorts', 'VITMI')
INSERT INTO serp VALUES('test', 'https://www.youtube.com/watch?v=58ObmKvWkCM', 'Grading Ray’s test… #asmr #school #teacher #test #quiz #emojichallenge', 'Teacher Tim')
JSONへの結果ダンプ
共通結果形式:
[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;
obj = {};
obj.query = query;
obj.videos = [];
FOREACH item IN p1.serp;
obj.videos.push({
link = item.link
title = item.title
time = item.time
channel = item.channel
thumb = item.thumb
});
END;
obj.json %]
開始テキスト:
[
終了テキスト:
]
結果の例:
{
"videos": [
{
"link": "https://www.youtube.com/watch?v=qsKao007sgc",
"time": "34:12",
"channel": "Chaosflo44",
"title": "DER FINALE \"COUNTDOWN\"... BEGINNT... - Minecraft TEST #07",
"thumb": "https://www.startpage.com/av/proxy-image?piurl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FqsKao007sgc%2Fmqdefault.jpg&sp=1765464645T553fa7872bba32911848fcbd479f1d1c6dc5eed198b063568dd553558996d377"
},
{
"link": "https://www.youtube.com/watch?v=aEnz_yfqh1M",
"time": "0:15",
"channel": "Anil Commando Physical Academy ",
"title": "Medical check up 🔥😱#army #shorts #viralshorts #viral #shotviral #motivation",
"thumb": "https://www.startpage.com/av/proxy-image?piurl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FaEnz_yfqh1M%2Fmqdefault.jpg&sp=1765464645T76be225124dc2515d951e69b2f707a8a9b535d6b02041abee39932aa377b7c35"
},
{
"link": "https://www.youtube.com/watch?v=_YYmA7yrfNY",
"time": "0:15",
"channel": "Ornithogalum Adseptentrionesvergentulum",
"title": "Trypophobia Test",
"thumb": "https://www.startpage.com/av/proxy-image?piurl=https%3A%2F%2Fi.ytimg.com%2Fvi%2F_YYmA7yrfNY%2Fmqdefault.jpg&sp=1765464645Tc6ae06af5ca641baa0b2847762363e1e63e2bb366529df520de3997ac81af718"
},
{
"link": "https://www.youtube.com/watch?v=dgG6UOmMWhc",
"time": "0:00:00",
"channel": "CricTalks",
"title": "🔴 IND vs SA Live Match Today, 2nd T20I, Live Cricket Scores Commentary, India v South Africa",
"thumb": "https://www.startpage.com/av/proxy-image?piurl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FdgG6UOmMWhc%2Fmqdefault_live.jpg&sp=1765464645T48ae453ab618911e8a3154dce7983414e63a67f688a4e3e1fd6c6655b9cf93c2"
},
{
"link": "https://www.youtube.com/watch?v=tq1WzzCTHZA",
"time": "0:00:00",
"channel": "KM PUNK",
"title": "🔴 INDIA vs SOUTH AFRICA Live | IND vs SA 2nd T20I Live Match Today | Live Cricket Score & Commentary",
"thumb": "https://www.startpage.com/av/proxy-image?piurl=https%3A%2F%2Fi.ytimg.com%2Fvi%2Ftq1WzzCTHZA%2Fmqdefault_live.jpg&sp=1765464645T65a3789d56aa1ecb29235798c1124cee02e7e5bed9adf6aca71f5e67562b3639"
},
{
"link": "https://www.youtube.com/watch?v=Zmp0_d1tIKA",
"time": "0:13",
"channel": "LUNATIKOV",
"title": "Do you have it? #phobia #test #scary",
"thumb": "https://www.startpage.com/av/proxy-image?piurl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FZmp0_d1tIKA%2Fmqdefault.jpg&sp=1765464645T76f3b801187ff196a314473a4c746a7353e5b009dca8b490cefdc5d21402d81b"
},
{
"link": "https://www.youtube.com/watch?v=wONUpazlG3Q",
"time": "48:36",
"channel": "Chaosflo44",
"title": "WILLKOMMEN... IN... MEINER \"GESCHICHTE\"?! - Minecraft TEST #01",
"thumb": "https://www.startpage.com/av/proxy-image?piurl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FwONUpazlG3Q%2Fmqdefault.jpg&sp=1765464645Te596123d6b746982b875f63ff9355029571381da981acef668644452bb427895"
},
{
"link": "https://www.youtube.com/watch?v=meAAifp2gVM",
"time": "0:00:00",
"channel": "AYUSH FREEFIRE",
"title": "FREE FIRE LIVE👻GARENA FREE FIRE💀GUILD TEST LIVE !! AYUSH FF #freefire #totalgaming #fflive",
"thumb": "https://www.startpage.com/av/proxy-image?piurl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FmeAAifp2gVM%2Fmqdefault_live.jpg&sp=1765464645T8866a7a2b3850884e5f4e86039c57dfd5d2cea42b388842ba6ff414f86602656"
},
{
"link": "https://www.youtube.com/watch?v=Wlp87kRnqTM",
"time": "54:48",
"channel": "Chaosflo44",
"title": "DAS WAHNSINNIGE ENDE... DES... LETZTEN PROJEKTS... - Minecraft TEST #02",
"thumb": "https://www.startpage.com/av/proxy-image?piurl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FWlp87kRnqTM%2Fmqdefault.jpg&sp=1765464645T78f46918578a2a1180027f439a5b73f43bafe75e95760f934027d7a8eb92dbd5"
},
{
"link": "https://www.youtube.com/watch?v=jIyb8jS2vjc",
"time": "0:34",
"channel": "VITMI",
"title": "Grading Test #test #funny #memes #shorts",
"thumb": "https://www.startpage.com/av/proxy-image?piurl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FjIyb8jS2vjc%2Fmqdefault.jpg&sp=1765464645Tf6521bd4a895abc669837cae63444e9d4791c0892e74a78369ea2d3730f8360d"
}
],
"query": "test"
}
タスクエディタで「Prepend text」と「Append text」のオプションを表示するには、「More options」を有効にする必要があります。
設定可能な項目
| パラメータ | デフォルト値 | 説明 |
|---|---|---|
| Pages count | 5 | スクレイピングするページ数 |
| Family filter | Filter depending on search | セーフサーチフィルタ |
| Search language | English | 結果の言語選択 |
| Search country | All | 検索を実行する国の選択 |
| Page language | English | インターフェース言語の選択 |
| Sort | Relevant | 結果のソート順 |
| Length | Any | 動画の長さの選択 |