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

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

新規登録して質問してみよう
ただいま回答率
85.49%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

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

Q&A

解決済

1回答

933閲覧

JavaScriptで、連想配列と再帰呼び出しを用いてブログの記事を順番に表示する方法

RMBQsKe5AP10gjx

総合スコア24

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

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

0グッド

0クリップ

投稿2019/04/20 06:08

編集2019/04/20 12:15

JavaScriptで、連想配列と再帰呼び出しを用いて記事のリンク(例えばQiita)を上から順番にブラウザに表示する方法を教えていただきたいです。
あくまでも自然検索の範囲内です。
node.jsを使用します。
全てのリンクの数を取得まではできました。
全てのリンク数分ループし、
配列に入れていき、
同じリンクには飛ばないようにするイメージです。
リンク先に同じサイトのリンクがあれば飛びます。

const puppeteer = require("puppeteer"); url = "https://qiita.com" puppeteer.launch({ args: ['--no-sandbox','--disable-gpu'], ignoreHTTPSErrors: false, headless: false, slowMo: 300 }).then(async browser => { try { const page = await browser.newPage(); await page.setViewport({width: 1200, height: 800}); await page.goto(url); const sumurl = await page.evaluate(() => {return document.links.length}); await browser.close(); } catch(e) { console.log("Error: Please check your code."); console.log(e); } });

概要だけでもかまいませんのでよろしくお願いします。

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

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

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

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

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

Lhankor_Mhy

2019/04/20 06:13

補足願います。 『ブログ』とは、具体的にはどのブログですか? 『ブログの記事』とは、具体的にはどの記事ですか? 『順番』とは、どのような順番ですか? 『表示する』とは、どこに表示するのですか? よろしくお願いします。
m.ts10806

2019/04/20 06:19

「スクレイピング」であればかなりグレーな部分も多いです。規約違反となることもあるので取得先の事情は十分に考慮してください。 「○○はできました」と書いただけでは誰にも伝わらないのでそのコード、やり方は必ず具体的に記載してください
guest

回答1

0

ベストアンサー

「リンクの収集と重複の排除」と「URLリストに対するデータ取得」を分けて考えると良いですよ。

それからリンクのnormalizeは必要なので、URLのパーサを使うようにしたほうが良いです。違う表現で同じページを指すことが極めて多いので。

また、URLリストの要素は「深さ」を考慮する必要があります。リンクを抽出したページが最初のページからどのくらいの距離を持つのかを保持できるようにします。

投稿2019/04/23 02:50

otolab

総合スコア765

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問