PR

Python情報収集、ブラウザ自動化を考える

現在、Python勉強中です。目的は情報収集をワンクリックで行い、できることなら集めた情報はChatGPTで要約して一度に得られる情報の鮮度を上げたいと思っています。

ただ、OpenAIのAPIを使用することを考えると、GPT-4を利用しないとトークン数の制限で「読み込ませたい情報」の制限がきついので、まずは情報収集の手法をもう少し煮詰める必要があると感じています。

ということで、Pythonによる情報収集について学んだことをこのページに投げ入れていきます。

スポンサーリンク

Pythonを利用して考えられる情報収集の手法

とりあえず、どんな方法が考えられるかをChatGPTと相談して決めていきます。基本的にはChatGPTの利用方法を確立していくことも大事なので。

ウェブサイトの情報収集の方法として、RSSフィードやサイトマップ更新を監視するXML形式の情報をPythonを活用して収集することを考えています。そのほかに考えられる方法があれば教えてください。

ウェブサイトから情報を収集するための方法は、RSSフィードやサイトマップ更新を監視するXML形式の情報を収集する以外にもいくつかあります。以下にいくつかの例を挙げてみます。

  1. ウェブスクレイピング ウェブスクレイピングは、ウェブサイトのページからデータを収集するための方法です。Pythonには、BeautifulSoupやScrapyなどのライブラリがあり、これらを使ってスクレイピングを行うことができます。
  2. APIを利用する 多くのウェブサイトは、APIを提供しています。APIを利用することで、必要な情報を直接取得することができます。Pythonには、APIを利用するためのライブラリが多数あります。
  3. ブラウザ自動化 ブラウザ自動化は、Seleniumといったライブラリを使って、ブラウザを自動で操作して必要な情報を取得する方法です。例えば、JavaScriptで生成された動的なコンテンツを取得することができます。

以上のような方法を使って、ウェブサイトから必要な情報を収集することができます。ただし、ウェブスクレイピングやブラウザ自動化は、サイトの利用規約に違反する場合があるため、注意が必要です。また、APIを利用する場合も、APIキーが必要な場合がありますので、APIの利用規約を確認してから利用するようにしてください。

ブラウザ自動化って何だ?

ブラウザ自動化は、プログラムを使ってWebブラウザを自動で操作することで、ユーザが手動で行うことと同じように、Webサイトから情報を収集したり、Webアプリケーションのテストを行ったりすることができます。主にPythonで使用されるライブラリは、Seleniumです。

ブラウザ自動化でできること

ブラウザ自動化を使うことで、以下のようなことができます。

  1. Webページのスクリーンショットを自動で取得することができます。
  2. JavaScriptで生成されたダイナミックなコンテンツを取得することができます。
  3. フォームの自動入力や送信を行うことができます。
  4. ページのスクロールや要素のクリックなど、ブラウザ上での操作を自動で行うことができます。
  5. Webアプリケーションの自動テストを行うことができます。

収集できる情報

Seleniumを使ったブラウザ自動化では、以下のような情報を収集することができます。

  1. WebページのHTMLソースコード
  2. ページのタイトル
  3. ページ上のテキストや画像などの要素
  4. ページのURL
  5. ページのCookie

必要な準備

Seleniumを使ったブラウザ自動化を行うには、以下の準備が必要です。

  1. Seleniumのライブラリをインストールすること
  2. 使用するWebブラウザに対応するドライバーをダウンロードすること
  3. テスト用のHTMLページやスクリプトを用意すること
  4. ブラウザ自動化のスクリプトを作成すること

以上のような準備が整ったら、PythonでSeleniumを使ってブラウザ自動化を行うことができます。ただし、Webサイトの利用規約に違反する場合があるため、注意が必要です。また、ブラウザ自動化は、Webサイトのロード時間によっては時間がかかる場合があるため、処理速度に注意が必要です。

Seleniumとは

Seleniumは、Webブラウザを自動化するためのオープンソースのツールです。主にWebアプリケーションのテスト自動化に使われていますが、ブラウザ自動化にも利用されています。Pythonをはじめ、Java、C#、Rubyなどの多くのプログラミング言語で利用することができます。

Seleniumの機能

Seleniumは、以下のような機能を持っています。

  1. Webブラウザの自動化
  2. Webページのテスト自動化
  3. Webアプリケーションのテスト自動化
  4. Webスクレイピング

Seleniumは、Webブラウザを自動化するために、実際にブラウザを起動して、ブラウザ上の動作をシミュレートします。そのため、Webページを実際にブラウザで表示しているのと同じ状態でテストを行うことができます。また、JavaScriptなどの動的なWebページのテストにも対応しており、ブラウザ自動化にも利用されています。

Seleniumには、Selenium WebDriverというライブラリがあります。Selenium WebDriverは、ブラウザを制御するためのAPIを提供し、プログラムからブラウザを自動で操作することができます。WebDriverは、Firefox、Chrome、Edge、Safari、Internet Explorerなど、多くのブラウザに対応しています。

Seleniumを使ってWebブラウザを自動化することで、Webサイトから情報を収集したり、Webアプリケーションのテスト自動化を行うことができます。ただし、Webサイトの利用規約に違反する場合があるため、注意が必要です。

Webブラウザの自動化

Webブラウザの自動化とは、プログラムを使ってWebブラウザを自動で操作することです。Seleniumなどのライブラリを使ってブラウザを起動し、JavaScriptを実行することができます。また、スクリーンショットを取得したり、ページ上の要素を取得したりすることもできます。以下に、実際にPythonを使ってSeleniumを使ったブラウザ自動化の例を示します。

python

from selenium import webdriver

# Chromeブラウザを起動する
driver = webdriver.Chrome()

# Googleのトップページを開く
driver.get('https://www.google.com/')

# 検索ボックスにキーワードを入力する
search_box = driver.find_element_by_name('q')
search_box.send_keys('Python')

# 検索ボタンをクリックする
search_box.submit()

# スクリーンショットを取得する
driver.save_screenshot('google.png')

# ブラウザを終了する
driver.quit()
Webページのテスト自動化

Webページのテスト自動化とは、プログラムを使ってWebページのテストを自動で実行することです。Seleniumを使って、Webページの正しく動作しているかどうかをテストすることができます。以下に、実際にPythonを使ってSeleniumを使ったWebページのテストの例を示します。

python

from selenium import webdriver
import unittest

class GoogleTestCase(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()

    def test_search(self):
        self.driver.get('https://www.google.com/')
        search_box = self.driver.find_element_by_name('q')
        search_box.send_keys('Python')
        search_box.submit()
        self.assertIn('Python', self.driver.title)

    def tearDown(self):
        self.driver.quit()

if __name__ == '__main__':
    unittest.main()

この例では、Googleのトップページにアクセスし、検索ボックスにキーワードを入力して検索を実行し、ページタイトルにキーワードが含まれているかどうかをテストしています。

Webアプリケーションのテスト自動化

Webアプリケーションのテスト自動化とは、プログラムを使ってWebアプリケーションのテストを自動で実行することです。Seleniumを使って、Webアプリケーションの正しく動作しているかどうかをテストすることができます。以下に、実際にPythonを使ってSeleniumを使ったWebアプリケーションのテストの例を示します。

from selenium import webdriver
import unittest

class MyWebAppTestCase(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()

    def test_login(self):
        self.driver.get('http://mywebapp.com/login')
        username = self.driver.find_element_by_id('username')
        password = self.driver.find_element_by_id('password')
        login_button = self.driver.find_element_by_id('login-button')
        username.send_keys('myusername')
        password.send_keys('mypassword')
        login_button.click()
        self.assertIn('Welcome', self.driver.title)

    def tearDown(self):
        self.driver.quit()

if __name__ == '__main__':
    unittest.main()

この例では、自分が開発したWebアプリケーションにアクセスし、ログイン機能が正しく動作しているかどうかをテストしています。ログインフォームにユーザー名とパスワードを入力し、ログインボタンをクリックして、ログイン後のページが正しく表示されるかどうかをテストしています。

Webスクレイピング

Webスクレイピングとは、Webページから情報を収集することです。Seleniumを使ってブラウザを自動化することで、Webページから必要な情報を取得することができます。以下に、実際にPythonを使ってSeleniumを使ったWebスクレイピングの例を示します。

python

from selenium import webdriver

# Chromeブラウザを起動する
driver = webdriver.Chrome()

# Amazonの商品ページにアクセスする
driver.get('https://www.amazon.com/dp/B01DFKC2SO')

# 商品のタイトルを取得する
title = driver.find_element_by_id('productTitle').text
print(title)

# 商品の価格を取得する
price = driver.find_element_by_id('priceblock_ourprice').text
print(price)

# ブラウザを終了する
driver.quit()

この例では、Amazonの商品ページから商品のタイトルと価格を取得しています。Seleniumを使って、商品のタイトルと価格のHTML要素を取得し、text属性を使ってテキストを取得しています。

以上のように、Seleniumを使ってWebブラウザの自動化、Webページのテスト自動化、Webアプリケーションのテスト自動化、Webスクレイピングなど、様々なことができます。ただし、Webサイトの利用規約に違反する場合があるため、注意が必要です。

SeleniumとBeautifulSoup/Scrapyの違い

項目BeautifulSoup/ScrapySelenium
利用目的WebスクレイピングWebスクレイピング、Webブラウザ自動化
利用方法HTML/XMLパーサーWebブラウザ自動化
取得可能な情報HTMLタグやCSSセレクターで指定可能な静的情報JavaScriptによる動的な情報や非同期通信による情報も取得可能
手法の難易度初心者でも容易初心者向けではなくやや難しい
メリットHTMLの静的な情報を高速に取得可能動的な情報も含めて、Webページ上の情報を高精度に取得可能
デメリット動的な情報や非同期通信による情報は取得できない起動するWebブラウザの影響を受けるため、安定性に欠けることがある
利用例商品情報などの静的な情報を取得する場合ログイン、フォーム入力、ボタンクリックなどの動的な動作を自動化する場合

BeautifulSoupやScrapyはHTML/XMLパーサーであり、静的なWebページからHTMLタグやCSSセレクターで指定可能な情報を高速に取得することができます。しかし、JavaScriptによる動的な情報や非同期通信による情報は取得することができません。一方、SeleniumはWebブラウザ自動化ツールであり、JavaScriptによる動的な情報や非同期通信による情報も含めて、Webページ上の情報を高精度に取得することができます。ただし、起動するWebブラウザの影響を受けるため、安定性に欠けることがある点に注意が必要です。

また、BeautifulSoupやScrapyは初心者でも容易に扱えるため、静的な情報を取得するWebスクレイピングに向いています。一方、Seleniumは初心者向けではなくやや難しいため、Webスクレイピングに慣れた上級者向けであり、Webブラウザ自動化が必要な場合に利用されます。

以上のように、BeautifulSoup/ScrapyとSeleniumは、それぞれの利用目的や取得可能な情報、手法の難易度、メリットやデメリットが異なるため、利用する場合は用途に合わせて選択する必要があります。

一般的には、静的な情報を取得する場合はBeautifulSoupやScrapyを、動的な情報を含めてWebページ上の情報を高精度に取得する場合はSeleniumを利用することが多いです。また、それぞれのライブラリの特徴を理解しておくことで、より効率的なWebスクレイピングを行うことができます。

BeautifulSoupとScrapyの違い

BeautifulSoupとScrapyはともにWebスクレイピングに利用されるPythonのライブラリですが、以下のような違いがあります。

  1. 利用目的
  • BeautifulSoupは、HTML/XMLドキュメントからデータを抽出することが主な目的です。HTMLやXMLなどのマークアップ言語を解析し、テキストデータや要素の属性を抽出することができます。
  • Scrapyは、Webサイト全体をスクレイピングすることが主な目的です。複数のWebページから情報を抽出し、Webページをトラバースすることができます。
  1. 手法の違い
  • BeautifulSoupは、HTML/XMLをパースして、Pythonのオブジェクトに変換する手法を採用しています。
  • Scrapyは、Pythonで書かれたWebスクレイピングフレームワークであり、Webスクレイピングを行うための機能を提供します。
  1. 開発コミュニティの違い
  • BeautifulSoupは、BeautifulSoup3、BeautifulSoup4といった複数のバージョンがありますが、開発コミュニティは比較的小規模です。
  • Scrapyは、比較的大規模な開発コミュニティを持ち、豊富なドキュメントやサポートが提供されています。
  1. 機能の違い
  • BeautifulSoupは、HTML/XMLドキュメントからの情報抽出に特化した機能を提供します。HTML/XMLドキュメントのパースや、CSSセレクターやXPathを用いた情報抽出などが可能です。
  • Scrapyは、Webスクレイピング全般に必要な機能を提供します。クローリング、情報抽出、データ処理、ストレージなど、Webスクレイピングに必要な機能が全て統合されています。

以上のように、BeautifulSoupとScrapyはそれぞれ得意とする分野が異なるため、利用する場合には目的に応じたライブラリを選択することが重要です。

Amazon商品ページの情報をまとめる

随時ページを監視させるようなシステム(はAmazonのサーバー負担を考えても適切ではないので)ではなく、情報収集の効率化を図るために、Amazonの特定のページの情報を抜き出すことを考えてみます。

ターゲットとする情報を考える

Amazonの商品ページの情報収集事例として、以下のような手法が挙げられます。

  1. 商品情報の取得
  • 商品名、価格、ASIN、カテゴリー、商品説明などの情報を取得することができます。
  • 商品ページのHTMLを解析して情報を取得する方法や、Seleniumを利用してWebブラウザ上で情報を取得する方法があります。
  1. レビュー情報の取得
  • レビューのタイトル、内容、評価、投稿日時などの情報を取得することができます。
  • レビュー一覧ページから情報を取得する方法や、各レビューのページにアクセスして情報を取得する方法があります。
  1. 評価情報の取得
  • 商品の評価や評価数を取得することができます。
  • 商品ページのHTMLを解析して情報を取得する方法や、Seleniumを利用してWebブラウザ上で情報を取得する方法があります。
  1. 類似商品の取得
  • 同じカテゴリーの商品や、関連商品などを取得することができます。
  • 商品ページのHTMLを解析して情報を取得する方法や、Seleniumを利用してWebブラウザ上で情報を取得する方法があります。
  1. 在庫情報の取得
  • 商品の在庫状況を取得することができます。
  • 商品ページのHTMLを解析して情報を取得する方法や、Seleniumを利用してWebブラウザ上で情報を取得する方法があります。
  1. 画像の取得
  • 商品の画像を取得することができます。
  • 商品ページのHTMLを解析して画像のURLを取得し、ダウンロードする方法や、Seleniumを利用してWebブラウザ上で画像を取得する方法があります。

上記のような手法を組み合わせることで、Amazonの商品ページから必要な情報を取得することができます。ただし、Amazonはスクレイピングに対して厳しい対策を行っており、規約に違反するスクレイピングは禁止されています。適切なスクレイピング手法を選択し、Webサイトの利用規約に従って利用するようにしましょう。

Amazonのスクレイピング行為は禁止

ちなみに、Amazonのページをスクレイピングすることは会員規約の違反となるようです。

しかし、会員ではなければ会員規約の対象ではないため、実際にはAmazon販売ページはよくスクレイピングされているし、Amazonも定期的にスクレイピング対策をしているようです。

私の場合はAmazonアソシエイトを利用している都合、AmazonのAPIキーを利用して情報を引っ張ってくることはできます。ただ、これをスクレイピングに使用することはよろしくないので、当サイトとしてはAmazonでの情報収集に関する情報はここまでとします。

しろくま
しろくま

どれくらいから法や規約から逸脱する行為なのか、線引きは難しいところですが、Amazonにはお世話になっているので、手法として「指定したIDやクラスなどの情報を拾ってくることはできる」という学びにとどめておきます。

スポンサーリンク

Python利用以外のブラウザの自動化

この勉強をしているときに、「そもそも、コードも触れない私がいちからやってそれなりにできるなら、そういうサービスやツールが無料で利用できるんじゃないか」ということに思い当たり、Pythonを利用しなくても自動で情報収集できる方法がないか調べてみました。

ブラウザ自動化とは

ブラウザ自動化とは、プログラムを使用してWebブラウザを自動的に操作することです。これにより、Webページのデータを収集したり、自動的にフォームに情報を入力したり、ボタンをクリックしてサイト上の特定のアクションを実行したりすることができます。

ブラウザ自動化には、様々なツールがあります。例えば、SeleniumやPuppeteer、Playwrightなどのツールがあります。これらのツールを使用することで、プログラムでブラウザを操作し、特定のタスクを自動化することができます。

ブラウザ自動化は、Webスクレイピング、テスト自動化、UIテスト、ブラウザベースのアプリケーションのテストなど、様々な用途に使用されます。しかし、Webサイトの利用規約に違反することなく、適切に使用することが重要です。

なぜ、利用規約に違反するのか

Webサイトの利用規約は、そのWebサイトを利用するユーザーに対して適用される契約です。利用規約には、Webサイトの利用に関する規則や制限が含まれています。これらの規則は、Webサイトが望ましくない行動に対して法的手段を取るための法的根拠として機能します。

ブラウザ自動化は、Webサイトの利用規約に違反することがあります。例えば、Webサイトの規約によって、Webサイトへの自動アクセスが制限されている場合があります。また、Webサイトのコンテンツを収集する場合、利用規約によって収集が制限されている場合があります。

そのため、ブラウザ自動化を使用する前に、Webサイトの利用規約を確認することが重要です。Webサイトの利用規約に違反することは、法的問題や、Webサイトからのアクセス制限やIPブロックなどの措置を受ける可能性があるため、避ける必要があります。

よくある転売ヤーの購入ツールはどうなの?

ウェブ自動化を使用して特定の商品を購入すること自体は、利用規約に違反することではありません。ただし、多くのウェブサイトは、同じIPアドレスからの連続した自動アクセスによるアクセス制限を設けている場合があります。そのため、大量のリクエストを送信すると、ウェブサイトがアクセスを制限することがあります。

また、ウェブ自動化を使用して商品を購入する場合、ウェブサイトの利用規約に従うことが重要です。例えば、いくつかのウェブサイトでは、自動的に注文することが禁止されている場合があります。そのため、自動注文が禁止されている場合には、手動で注文を行う必要があります。

さらに、ウェブ自動化を使用する場合には、ウェブサイトのロボット排除規定(robots.txt)にも注意する必要があります。robots.txtによって、ウェブサイト所有者がウェブクローラーやスクレイパーなどの自動化ツールからのアクセスを制御することができます。

総じて、ウェブ自動化を使用する場合には、適切な利用規約に従うことが重要です。不正行為を行わず、ウェブサイト所有者が設けたアクセス制限や規定に従うようにしましょう。

自動購入の仕組み

自動購入の仕組みは、通常、以下のようになっています。

  1. 商品情報の収集:自動購入を行うためには、まず対象の商品の情報を取得する必要があります。商品情報は、WebスクレイピングやAPIを使用して収集されます。
  2. カートに商品を追加:商品情報が取得できたら、自動化ツールを使用してウェブサイトにログインし、商品をカートに追加します。
  3. 支払い情報の入力:支払い情報は、通常、クレジットカード情報や配送先情報などを含みます。自動化ツールを使用して、支払い情報を入力し、注文を確定します。
  4. 確認ページのスキップ:自動化ツールは、ウェブサイトが自動購入を検知するのを防ぐために、注文確認ページをスキップすることができます。
  5. 購入完了:支払い情報が正しく入力され、注文が確定されたら、商品の購入が完了します。

ただし、自動購入は、多くのウェブサイトで禁止されている場合があります。また、ウェブサイトによっては、セキュリティ上の理由から、カートに商品を追加しただけでは、実際に購入が完了しない場合があります。そのため、自動購入を行う場合には、ウェブサイトの利用規約に従い、注意深く実施することが重要です。

特定のページの情報更新を察知する

はい、ブラウザ自動化を使用して、特定のWebページの更新した部分だけを抽出して表示することができます。この方法は、ウェブスクレイピングの一種で、ページの変更を定期的に監視することで、新しい情報や更新された情報を収集できます。

ブラウザ自動化ツール(Selenium、Puppeteer、Playwrightなど)を使用して、以下の手順で更新された部分を抽出することができます。

  1. 監視対象のWebページを自動化ツールで開く。
  2. ページ上の要素を特定し、要素の属性やテキストを取得することで、更新された情報を取得することができます。
  3. ページを定期的にリロードして、新しい情報や更新された情報を取得することができます。
  4. 取得した情報を表示するために、自動化ツールで指定された方法に従って、メールやテキストメッセージなどの形式で通知することができます。

ただし、ウェブスクレイピングは、利用規約に違反することがあります。ウェブスクレイピングを使用する場合には、ウェブサイトの利用規約に従うことが重要です。また、定期的にリクエストを送信することは、ウェブサイトのパフォーマンスに影響を与える可能性があるため、慎重に使用する必要があります。

限定商品(私の場合は福袋)の販売ページを探すことはできる?

限定商品が発売される場合に、ドメイン以下に特定のページが作成されたことを監視して通知する機能を実装することができます。

この機能を実現するには、ウェブスクレイピングを使用することが一般的です。具体的には、以下のような手順で実現されます。

  1. 監視対象のWebサイトをスクレイピングして、新しい限定商品が発売された場合に表示されるページを特定します。
  2. ページのHTMLコードを解析して、必要な情報を抽出します。たとえば、限定商品の名前や価格、販売開始日時などが含まれます。
  3. 抽出した情報を通知する方法を指定します。たとえば、電子メールやテキストメッセージを使用して通知することができます。
  4. ページを定期的に監視して、新しい限定商品が発売された場合に通知を送信します。

監視する頻度や通知の形式などは、ユーザーが指定できるようにすることができます。

収集する情報を決める

ブラウザ自動化による情報収集で習得できる情報は、以下のようなものがあります。

  1. 商品情報:オンラインストアから商品情報を収集することができます。これには、商品名、価格、説明、画像などが含まれます。これらの情報は、競合他社の価格比較や、マーケティング調査などに活用されます。
  2. ニュース記事:ニュースサイトから最新のニュース記事を収集することができます。これには、記事のタイトル、本文、画像、著者名、掲載日などが含まれます。これらの情報は、ニュースのトレンド分析や、業界動向の追跡などに使用されます。
  3. ソーシャルメディアデータ:ソーシャルメディアからユーザーの投稿、コメント、ハッシュタグ、フォロワー数などの情報を収集することができます。これらの情報は、マーケティング調査、消費者行動の分析、ブランドの評判の監視などに使用されます。
  4. ウェブサイトのSEOデータ:競合他社のSEO戦略を分析するために、ウェブサイトのランキングや検索キーワードの情報を収集することができます。これには、ウェブサイトのタイトル、メタタグ、検索エンジン上のランキング、ドメインオーソリティ、ページ速度などが含まれます。
  5. フィードバック:顧客からのフィードバックや評価を収集することができます。これには、商品やサービスのレビュー、顧客の評価、クレーム、問い合わせなどが含まれます。これらの情報は、顧客満足度調査や製品改善に活用されます。

情報収集を利用して検索順位を上げる手法はまた別記事にまとめます。

情報媒体例

  1. ビデオや音声:自動化ツールを使用して、ビデオや音声を取得することができます。たとえば、YouTubeなどの動画サイトから、特定のビデオをダウンロードすることができます。
  2. PDFファイル:自動化ツールを使用して、PDFファイルをダウンロードすることができます。たとえば、オンラインストアから注文書や請求書をダウンロードすることができます。
  3. データベース:自動化ツールを使用して、データベースから情報を抽出することができます。たとえば、Webフォームから入力されたデータを取得することができます。
  4. GPS情報:自動化ツールを使用して、ウェブサイトからGPS情報を取得することができます。たとえば、旅行サイトから、目的地周辺の観光スポットを自動的に検索することができます。
  5. ネットワークトラフィック:自動化ツールを使用して、ネットワークトラフィックをキャプチャすることができます。たとえば、Webサイトへのリクエストとレスポンスを取得し、分析することができます。

複数ショップの価格を比較するサイト

価格比較サイトの一例として、価格ドットコムでは、ウェブスクレイピングを使用して、複数のオンラインストアの価格情報を収集しています。この場合、価格に当たる部分のタグを指定して、価格情報を収集することが一般的です。

具体的には、価格ドットコムの場合、ウェブスクレイピングツールを使用して、各オンラインストアの商品ページから価格情報を収集します。価格情報は、HTMLタグ内に含まれるテキストデータとして表示されているため、価格に当たるHTMLタグを特定して、そのタグ内のテキストデータを抽出することができます。

また、価格ドットコムでは、価格比較サイトとしての役割を果たすために、他にも様々な情報を収集しています。たとえば、商品名、商品説明、画像、ショップの評価、配送情報などが含まれます。これらの情報は、顧客にとって役立つ情報として提供されるため、価格ドットコムのような価格比較サイトは、多くのユーザーに利用されています。

Pythonを利用しない場合のサービスやツール

  1. UIフローエディター:UIフローエディターを使用すると、ブラウザ自動化のフローを視覚的に設計することができます。たとえば、Selenium IDEなどのUIフローエディターを使用すると、マウスとキーボードの操作で、自動化したい操作を記録して再生することができます。
  2. ウェブスクレイピングサービス:ウェブスクレイピングサービスを使用すると、コードを記述することなく、ウェブサイトからデータを収集することができます。たとえば、ScrapingBeeやScrapingHubなどのウェブスクレイピングサービスを使用すると、APIを呼び出してウェブサイトからデータを取得することができます。
  3. 自動化ツール:自動化ツールを使用すると、Pythonのコードを記述することなく、ブラウザ自動化を行うことができます。たとえば、PuppeteerやPlaywrightなどの自動化ツールを使用すると、JavaScriptで自動化スクリプトを記述することができます。
  4. プリメイドのスクリプト:GitHubやGistなどのコード共有サイトには、ブラウザ自動化のためのプリメイドのスクリプトが多数公開されています。これらのスクリプトを使用することで、Pythonのコードを記述することなく、ブラウザ自動化を行うことができます。

UIフローエディターとは

Automatorみたいなもの?

UIフローエディターとは、ブラウザ自動化のためのフローを視覚的に設計するためのツールのことです。MacのAutomatorとは似たような機能を持っていますが、AutomatorはMacのGUI操作の自動化に特化しており、ブラウザ自動化には使えません。

UIフローエディターは、ブラウザ自動化ツールに統合されたツールであり、ユーザーがウェブサイト上で行いたい操作を視覚的に設計することができます。たとえば、ウェブサイト上でフォームに入力したい内容を入力したり、ボタンをクリックしたりする操作を、UIフローエディターでドラッグ&ドロップすることで簡単に設定できます。

UIフローエディターは、Selenium IDEやKatalon Studio、Testimなどの自動化ツールに統合されており、これらのツールを使用することで、コーディングが苦手なユーザーでもブラウザ自動化を行うことができます。ただし、UIフローエディターは、操作の流れを設計するためのツールであるため、より複雑な操作を行う場合には、コーディングが必要になることがあります。

どんな準備が必要?

UIフローエディターで情報収集を自動化する場合には、以下のような準備が必要になります。

  1. ブラウザ自動化ツールのインストール:UIフローエディターを使用するには、ブラウザ自動化ツールをインストールする必要があります。代表的なツールとしては、Selenium IDE、Katalon Studio、Testimなどがあります。
  2. 対象となるウェブサイトの分析:UIフローエディターで情報収集を自動化するには、対象となるウェブサイトの構造を理解する必要があります。ウェブサイトの構造を理解することで、UIフローエディターで操作の流れを設計することができます。
  3. 操作の流れの設計:UIフローエディターで情報収集を自動化する場合には、ウェブサイト上で行いたい操作の流れを設計する必要があります。たとえば、検索ワードの入力、検索ボタンのクリック、ページネーションの移動、ページ内のデータの抽出などを設計することができます。
  4. セレクターの設定:UIフローエディターでは、ブラウザ自動化ツールが操作するウェブページ上の要素を指定するために、セレクターを使用します。セレクターは、HTMLタグ、クラス、ID、属性値などを指定することができます。操作の流れを設計する際に、適切なセレクターを設定することが重要です。
  5. テストとデバッグ:UIフローエディターで設計した操作の流れを実際に実行して、データが正しく取得できるかどうかを確認する必要があります。また、UIフローエディターで設計した操作の流れが正しく動作しない場合には、デバッグする必要があります。

上記のように、UIフローエディターで情報収集を自動化する場合には、ブラウザ自動化ツールのインストールやウェブサイトの分析、操作の流れの設計、セレクターの設定、テストとデバッグなどの準備が必要になります。

ウェブスクレイピングサービス

しろくま
しろくま

個人的には、そもそも規約違反のリスクを背負って有料のサービスを使うことはお勧めしませんが。

有料?

ウェブスクレイピングサービスによって異なりますが、多くの場合、有料のサービスとなっています。有料のウェブスクレイピングサービスを利用することで、より高度なウェブスクレイピング機能や、より高速かつ信頼性の高いスクレイピングが可能になる場合があります。

自動化ツール一覧

  1. Selenium:ウェブブラウザの自動操作を行うためのフレームワークであり、Java、Python、JavaScript、Rubyなどの多くのプログラミング言語で利用できます。多くのプラットフォームで利用可能であり、柔軟性が高く、多数の拡張機能があるため、広く利用されています。
  2. Puppeteer:Googleが開発したNode.jsベースのブラウザ自動化ツールであり、ChromeやChromiumを制御することができます。APIが簡潔で、開発が容易であるため、広く利用されています。
  3. Playwright:Microsoftが開発したNode.jsベースのブラウザ自動化ツールであり、Chrome、Firefox、Safari、Edgeを制御することができます。SeleniumやPuppeteerに比べて高速であるため、近年注目を集めています。
  4. TestCafe:Node.jsベースのブラウザ自動化ツールであり、Chrome、Firefox、Safari、Edgeをサポートしています。テスト実行の高速化が特徴であり、オープンソースで利用可能です。
  5. WebDriverIO:SeleniumのWebDriverをラップしたNode.jsベースのブラウザ自動化ツールであり、テスト自動化に特化しています。APIがシンプルであり、多数のプラグインがあるため、開発が容易です。
  6. Cypress:JavaScriptベースのブラウザ自動化ツールであり、ChromeとElectronをサポートしています。テスト自動化に特化しており、高速かつ信頼性の高いテストを実行することができます。
どれを選ぶべき?

以下は、6つのブラウザ自動化ツールの比較表です。ただし、ツールの特徴や機能は絶えず更新されているため、表の内容はあくまでも参考程度として捉えてください。

ツール名料金準備・必要なもの利用言語簡単機能性拡張性
Selenium無料Java、Python、JavaScript、Rubyなどの言語、Selenium WebDriver複雑
Puppeteer無料Node.js、ChromiumまたはGoogle Chrome簡単
Playwright無料Node.js、Chrome、Firefox、Safari、Edge簡単
TestCafe無料または有料Node.js簡単
WebDriverIO無料Node.js、Selenium WebDriver簡単
Cypress無料または有料Node.js、ChromeまたはElectron簡単

以下は、各項目の評価についての説明です。

  • 料金:各ツールの価格を示します。多くのツールは無料で利用できますが、いくつかの機能については有料のライセンスが必要になる場合があります。
  • 準備・必要なもの:ツールを使用するために必要な環境やツールなどを示します。いくつかのツールは、開発者がインストールする必要がある追加のモジュールやドライバーなどがあります。
  • 利用言語:ツールを使用するために必要な言語を示します。Seleniumなどの多くのツールは、複雑な言語機能を必要とするため、使用が難しい場合があります。
  • 簡単:ツールの使用の容易さを示します。使用が簡単なツールは、新しい開発者が素早く学ぶことができるため、重要です。
  • 機能性:ツールの提供する機能の量や品質を示します。多機能なツールは、より高度なテストや自動化の処理が可能です。
  • 拡張性:ツールを拡張するためのプラグインや拡張機能の有無を示します。拡張性が高いツールは、より柔軟性があるため、開発者がツールをカスタマイズして、より自分に合った機能を使用することができます。

上記の表から、以下のような特徴が見て取れます。

  • Seleniumは、多言語で利用可能で、高度な機能性や拡張性を提供しますが、使用が複雑です。
  • PuppeteerとPlaywrightは、使用が簡単で、機能性が高く、Chromiumベースのブラウザを制御することができます。
  • TestCafe、WebDriverIO、Cypressは、Node.jsで動作し、使用が簡単で、高機能かつ高速であるため、テスト自動化に特化しています。

選択するツールは、プロジェクトのニーズ、開発チームの技術スキル、プロジェクトの予算、プロジェクトの要件に基づいて決定する必要があります。また、ツールを使い始める前に、各ツールのドキュメントやチュートリアルを読んで、開発者が理解できるようにすることが重要です。

Node.jsの使い方

  1. Node.jsのインストール:Node.jsの公式サイトから、自分の環境に合ったバージョンをダウンロードしてインストールします。
  2. 必要なライブラリのインストール:情報収集に必要なライブラリをnpm(Node.js Package Manager)を使用してインストールします。たとえば、WebスクレイピングにはPuppeteerやCheerioなどのライブラリが利用できます。
  3. コードの記述:情報収集に必要なJavaScriptコードを記述します。具体的には、スクレイピングの対象となるWebページにアクセスする方法、必要な情報を抽出する方法、取得した情報を保存する方法などが挙げられます。Node.jsは、一般的なJavaScriptと同じ構文を使用することができるため、Webページ上で実行する場合とほぼ同じようなコードを記述することができます。
  4. コードの実行:記述したJavaScriptコードを、Node.jsを使用して実行します。コードを実行するには、ターミナルまたはコマンドプロンプトから、Node.jsを使用してJavaScriptファイルを実行するコマンドを入力します。たとえば、”node index.js”のようなコマンドを入力することで、index.jsファイル内に記述されたJavaScriptコードが実行されます。
Macの開発環境
  1. Node.jsのインストール:MacにNode.jsをインストールするには、公式サイトからダウンロードしてインストーラを実行するだけです。または、Homebrewを使用して、ターミナルからコマンドを実行することもできます。
  2. テキストエディタの準備:JavaScriptコードを記述するためのテキストエディタを用意します。お勧めのエディタには、Visual Studio Code、Sublime Text、Atomなどがあります。
  3. 必要なライブラリのインストール:情報収集に必要なライブラリをnpmを使用してインストールします。たとえば、PuppeteerやCheerioなどがあります。インストールするには、ターミナルからコマンドを実行します。
  4. Gitのインストール(任意):Gitを使用して、ソースコードのバージョン管理や共有を行う場合には、Gitをインストールします。Macには、ターミナルからGitをインストールすることができます。

Node.js記述例

例えば、以下の情報を収集するとします。

  • 任意のドメイン下のWebページの新着情報をメールで通知する
  • 更新されたページの更新内容を記録する
  • 記録した内容はGoogle Driveに保存する

Node.jsにはどのようなコードを実行すればいいですか?

以下は、Node.jsで任意のドメインのWebページの新着情報をメールで通知し、更新されたページの更新内容を記録してGoogle Driveに保存するための基本的なコード例です。ただし、これらの処理にはそれぞれ細かい実装が必要であるため、必要に応じてカスタマイズが必要です。

javascript

const puppeteer = require('puppeteer');
const nodemailer = require('nodemailer');
const { google } = require('googleapis');
const fs = require('fs');

// OAuth2認証情報を取得するためのクライアントIDなど
const CLIENT_ID = 'your_client_id';
const CLIENT_SECRET = 'your_client_secret';
const REDIRECT_URI = 'https://developers.google.com/oauthplayground';
const REFRESH_TOKEN = 'your_refresh_token';

// Google Drive APIを使用するための認証情報をセットアップ
const oAuth2Client = new google.auth.OAuth2(
  CLIENT_ID,
  CLIENT_SECRET,
  REDIRECT_URI
);
oAuth2Client.setCredentials({ refresh_token: REFRESH_TOKEN });
const drive = google.drive({
  version: 'v3',
  auth: oAuth2Client,
});

// Puppeteerを使用して、指定されたURLのWebページのスクリーンショットを撮る
async function takeScreenshot(url) {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto(url);
  await page.screenshot({ path: 'screenshot.png' });
  await browser.close();
}

// Google Driveにスクリーンショットをアップロードする
async function uploadScreenshot() {
  const fileMetadata = {
    name: 'screenshot.png',
    parents: ['your_folder_id'], // 保存先のフォルダIDを指定
  };
  const media = {
    mimeType: 'image/png',
    body: fs.createReadStream('screenshot.png'),
  };
  const res = await drive.files.create({
    resource: fileMetadata,
    media: media,
    fields: 'id',
  });
  console.log(`File has been uploaded with ID: ${res.data.id}`);
}

// メールを送信する
async function sendEmail(to, subject, text, attachments) {
  const transporter = nodemailer.createTransport({
    service: 'gmail',
    auth: {
      type: 'OAuth2',
      user: 'your_email_address',
      clientId: CLIENT_ID,
      clientSecret: CLIENT_SECRET,
      refreshToken: REFRESH_TOKEN,
      accessToken: oAuth2Client.getAccessToken(),
    },
  });

  const mailOptions = {
    from: 'your_email_address',
    to: to,
    subject: subject,
    text: text,
    attachments: attachments,
  };

  const info = await transporter.sendMail(mailOptions);
  console.log(`Email has been sent with ID: ${info.messageId}`);
}

// 定期的にWebページをチェックして、新着情報があればメールで通知する
setInterval(async () => {
  try {
    const url = 'https://example.com'; // 監視するWebページのURL
    await takeScreenshot(url); // スクリーンショットを撮る
    await uploadScreenshot(); // スクリーンショットのアップロード
const subject = 'New content available'; // メールの件名
const text = 'New content has been updated on the website.'; // メールの本文
const attachments = [{ filename: 'screenshot.png', path: 'screenshot.png' }]; // メールに添付するファイル
await sendEmail('recipient_email_address', subject, text, attachments); // メールを送信する

} catch (error) {
console.error(error);
}
}, 3600000); // 1時間ごとに実行する

このコードは、Puppeteerを使用して指定されたURLのWebページのスクリーンショットを撮り、Google Driveにアップロードします。

また、Nodemailerを使用してメールを送信し、アップロードされたスクリーンショットを添付します。このコードは、setInterval関数を使用して、定期的にWebページをチェックして新着情報がある場合に通知するように設定されています。必要に応じて、URLやメールアドレスなどをカスタマイズしてください。

新着情報の差分検知

Webページの差分検知には、いくつかの方法がありますが、以下はPuppeteerを使用して前回アクセスしたときと現在のWebページのスクリーンショットを比較し、差分がある場合に新着情報として処理するサンプルコードです。このコードでは、前回アクセスしたスクリーンショットと現在のスクリーンショットのピクセル単位での差分を検出し、差分が一定値以上の場合に新着情報として処理します。

javascript

const puppeteer = require('puppeteer');
const pixelmatch = require('pixelmatch');
const { PNG } = require('pngjs');

// 前回アクセスしたときのスクリーンショットを読み込む
const fs = require('fs');
const oldScreenshotBuffer = fs.readFileSync('old_screenshot.png');

// Puppeteerを使用して、指定されたURLのWebページのスクリーンショットを撮る
async function takeScreenshot(url) {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto(url);
  await page.screenshot({ path: 'screenshot.png' });
  await browser.close();
}

// 2つのPNG画像の差分を比較する
function compareScreenshots(oldScreenshotBuffer, newScreenshotBuffer) {
  const oldScreenshot = PNG.sync.read(oldScreenshotBuffer);
  const newScreenshot = PNG.sync.read(newScreenshotBuffer);
  const { width, height } = oldScreenshot;
  const diff = new PNG({ width, height });

  const numDiffPixels = pixelmatch(
    oldScreenshot.data,
    newScreenshot.data,
    diff.data,
    width,
    height,
    { threshold: 0.1 }
  );

  return { diff, numDiffPixels };
}

// 定期的にWebページをチェックして、新着情報があれば処理する
setInterval(async () => {
  try {
    const url = 'https://example.com'; // 監視するWebページのURL
    await takeScreenshot(url); // スクリーンショットを撮る
    const newScreenshotBuffer = fs.readFileSync('screenshot.png');
    const { numDiffPixels } = compareScreenshots(
      oldScreenshotBuffer,
      newScreenshotBuffer
    );
    if (numDiffPixels > 1000) {
      // 差分が一定値以上の場合には新着情報として処理する
      console.log('New content is available!');
      // TODO: ここで新着情報の処理を実行する
    }
  } catch (error) {
    console.error(error);
  }
}, 3600000); // 1時間ごとに実行する

このコードでは、pixelmatchというライブラリを使用して、2つのPNG画像のピクセル単位での差分を比較しています。差分が一定値以上の場合には、新着情報があるとして処理します。必要に応じて、新着情報がある場合に実行する処理は、console.log()で出力しているだけですが、必要に応じて、メール送信やスクリーンショットのアップロード、データベースへの保存など、さまざまな処理を実装することができます。

ただし、この方法は、スクリーンショットの比較によって更新を検知するため、スクリーンショットの撮影に時間がかかり、また比較にも時間がかかるため、Webページの更新頻度が高い場合には適していません。また、Webページの特定の要素の変更を検知する必要がある場合には、異なるアプローチが必要となります。

テキストの差分検知

テキストの差分検知は可能です。テキストの差分検知には、Diffアルゴリズムを使用することが一般的です。Diffアルゴリズムは、2つのテキストデータを比較して、差分を検出するアルゴリズムです。

JavaScriptでは、diffライブラリを使用して、テキストの差分を検知することができます。以下は、Node.jsとdiffライブラリを使用して、前回アクセスしたときと現在のWebページのテキストの差分を検知するサンプルコードです。

javascript

const puppeteer = require('puppeteer');
const fs = require('fs');
const diff = require('diff');

// 前回アクセスしたときのテキストデータを読み込む
const oldText = fs.readFileSync('old_text.txt', 'utf-8');

// Puppeteerを使用して、指定されたURLのWebページのテキストを取得する
async function getText(url) {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto(url);
  const text = await page.evaluate(() => document.body.innerText);
  await browser.close();
  return text;
}

// 定期的にWebページをチェックして、新着情報があれば処理する
setInterval(async () => {
  try {
    const url = 'https://example.com'; // 監視するWebページのURL
    const newText = await getText(url); // テキストを取得する
    const differences = diff.diffWords(oldText, newText);
    if (differences.length > 1) {
      // 差分がある場合には新着情報として処理する
      console.log('New content is available!');
      // TODO: ここで新着情報の処理を実行する
    }
    // 新しいテキストをファイルに保存する
    fs.writeFileSync('old_text.txt', newText, 'utf-8');
  } catch (error) {
    console.error(error);
  }
}, 3600000); // 1時間ごとに実行する

このコードでは、diffライブラリを使用して、前回アクセスしたときと現在のWebページのテキストの差分を検知します。差分がある場合には、新着情報があるとして処理します。必要に応じて、差分の種類や位置などを詳細に解析することもできます。

クローリングする方法

サイトマップがない場合でも、Webサイトのクローリングを行って新しいページを検知することができます。Webサイトのクローリングには、以下のような手法があります。

  1. リンクを辿る方法 Webサイト内のリンクをたどって、新しいページを探します。これは、Webサイト全体を探索する場合に有効な手法ですが、Webサイトのリンク構造によってはすべてのページを発見することができない場合があります。
  2. サイトマップを作成する方法 Webサイトの全ページのURLを収集して、サイトマップを作成します。この方法は、Webサイトの全ページを網羅することができますが、サイトマップの作成には時間がかかります。
  3. Googleなどの検索エンジンのキャッシュを利用する方法 Googleなどの検索エンジンは、Webサイトのクローリングを行っており、キャッシュを保持しています。そのため、検索エンジンのキャッシュを利用して、Webサイトの更新状況を検知することができます。ただし、キャッシュに反映されるまでに時間がかかる場合があります。
  4. ページの差分検知を利用する方法 Webサイト内の全ページを定期的にクロールして、前回アクセス時との差分を検知することもできます。ただし、クロールには時間がかかり、負荷がかかることがあります。

上記の手法を組み合わせることで、Webサイトの新しいページを検知することができます。差分検知の場合には、テキストだけでなく、HTMLの構造や要素の変更も検知することができます。

コメント

  1. buchikuma-info より:

    「robots muscle biohybrid」に関する最新情報です。

    マウスの細胞から収穫された筋肉組織が「バイオハイブリッド」ロボットを動かす。研究者たちは、柔軟で適応性のある部品を持つソフトロボティクスの分野で、生物学からインスピレーションを得て研究を進めている。MITの研究チームは、生体筋組織と合成ロボット部品を組み合わせることで、新しい種類のロボットである「バイオハイブリッド」を開発している。

    https://techcrunch.com/2024/04/10/muscle-tissue-harvested-from-mice-cells-move-biohybrid-robots/

  2. buchikuma-info より:

    「テスト 小規模 小規模 テスト」に関する最新情報です。

    HK HERO ENTERTAINMENTが、親会社HERO GAMES傘下のPan Studioが開発中の高自由度ファンタジーアドベンチャーRPG『デュエットナイトアビス』の小規模テストを実施することを発表。テスト参加者募集キャンペーンも開始し、スマートフォンやPC向けに開発されており、武器システムやアクションなどが注目を集めている。テストへの応募方法や参加期間などが詳細に記載されている。

    https://gamebiz.jp/news/383246

  3. buchikuma-info より:

    「robo co co op」に関する最新情報です。

    RPA領域でDX民主化に取り組むPeaceful Morning株式会社と一般社団法人Robo Co-opが事業提携を開始。Robo Co-opのメンバーが企業のDX人材育成サービスをサポートし、シングルマザーや難民の経済的自立を支援。Robo RunnerというRPAヘルプデスクサービスを通じて、柔軟な働き方を提供し、社会的連帯や民主的な経営を推進している。Robo Co-opはインパクト・ソーシングを展開し、就労機会の拡大に取り組んでいる。

    https://prtimes.jp/main/html/rd/p/000000073.000039595.html

  4. buchikuma-info より:

    「ポーカー balatro balatro 開発者」に関する最新情報です。

    ヒット中のローグライトポーカーゲーム『Balatro』の開発者は、実はポーカーをほとんどプレイしないことを明かしている。ゲームはポーカーとローグライトデッキ構築を組み合わせたもので、シンプルなゲーム性が人気を集めている。開発者がポーカー未経験であることが興味深い点であり、プレイヤーに取り組みやすく工夫された結果、大きな成功を収めている。

    https://automaton-media.com/articles/newsjp/20240227-283976/

  5. buchikuma-info より:

    「探索 bō bō path」に関する最新情報です。

    和風メトロイドヴァニアアクションゲーム『Bō: Path of the Teal Lotus』が7月19日に配信される。プラットフォームはPC(Steam)/Nintendo Switch/PS5/Xbox Series X|Sで、日本の民話を題材にしたゲームで、主人公のボーが和風世界を冒険する。開発には多くのゲームやアニメ作品から影響を受けており、国内外のゲームファンに注目されている。

    https://automaton-media.com/articles/newsjp/20240224-283760/

  6. buchikuma-info より:

    「探索 bō bō path」に関する最新情報です。

    和風メトロイドヴァニアアクションゲーム『Bō: Path of the Teal Lotus』が7月19日に配信される。プラットフォームはPC(Steam)/Nintendo Switch/PS5/Xbox Series X|Sで、日本では日本語表示に対応する。ゲームは日本の民話を題材にし、主人公のボーが和風世界を冒険するストーリー。開発には多くのゲームやアニメ作品から影響を受けており、7月19日に国内配信される予定。

    https://automaton-media.com/articles/newsjp/20240224-283760/

  7. buchikuma-info より:

    「ai ai ベース gmail」に関する最新情報です。

    グーグルはAIベースの新しいセキュリティスキームを発表し、すでにGmailに導入済み。この新しいスキームは「防御側のジレンマ」をAIを活用して克服するものであり、Gmailはプロアクティブ保護を先導している。

    https://news.google.com/rss/articles/CBMiLWh0dHBzOi8vZm9yYmVzamFwYW4uY29tL2FydGljbGVzL2RldGFpbC82OTE5NtIBAA?oc=5

  8. buchikuma-info より:

    「internet one could」に関する最新情報です。

    タイトル:すべてを救う可能性のあるインターネットのハック
    見出し:すべてを救う可能性のあるインターネットのハック、あなたも興味があるかもしれません…

    テーマ1のオリジナルテキスト:
    「すべてを救う可能性のあるインターネットのハック」は、通信公正法の26語を削除するだけで実現できるという簡単なアイデアです。セクション230のない世界へようこそ。

    伝統的な意味での言論の自由について語ることはもはや意味がありません。インターネットはスピーカーの性質を変えるほどの変革をもたらし、言葉自体の定義も変わりました。

    新しい言葉はウイラリティの割り当てによって支配されています。人々は単に自分自身のために話すことはできません。常に謎のアルゴリズムが部屋にいて、スピーカーの声のボリュームを独自に設定しています。自分の意見を聞いてもらうためには、人間の観客に対して話すだけでなく、アルゴリズムに対しても話さなければなりません。まるでアメリカ合衆国憲法が市民に対して、オランダ東インド会社や他の大きな遠隔エンティティに応じる俳優や弁護士を通じて話すことを求めて

    https://www.wired.com/story/the-one-internet-hack-that-could-save-everything-section-230/

  9. buchikuma-info より:

    「テスト 負荷 負荷 テスト」に関する最新情報です。

    ドリコムは、クラウド型負荷テストツール「Mx.Load」にAIによるレポート生成機能を導入しました。この機能により、負荷テストの結果を自動的にレポート化することが可能となります。Mx.Loadは、クラウド上で負荷テストを行うことができるツールであり、今回のAIによるレポート生成機能の導入により、テスト結果の分析や報告作業の効率化が図られます。これにより、エンジニアの負担を最大80%削減することができるとされています。ドリコムは、今後もインターネットサービスの開発や運用における課題解決に取り組んでいく予定です。

    https://news.google.com/rss/articles/CBMiHmh0dHBzOi8vZ2FtZWJpei5qcC9uZXdzLzM3OTkwOdIBAA?oc=5

  10. buchikuma-info より:

    「異変 出口 開発者」に関する最新情報です。

    異変発見ホラーゲーム『8番出口』の開発者が、異変が起こらないとの報告がバグであるかどうかわからず困っている。プレイヤーも開発者も異変の原因がわからず、ゲームの進行に問題が生じている。プレイヤーはセーブデータを削除してやり直すなどの対策を試みているが、異変の発見は難しいようだ。開発者はバグ修正に取り組んでおり、プレイヤーからの報告を受けて調査を行っている。この問題の解決は難航しており、異変が起こるかどうかの判定や異変の種類に関するシステムの紐付けが難しいとされている。

    https://automaton-media.com/articles/newsjp/20231206-274835/

  11. buchikuma-info より:

    「ai amazon position」に関する最新情報です。

    タイトル: AmazonはAI分野で追いつくという珍しい立場に立たされている
    ヘッディング: AmazonはAI分野で追いつくという珍しい立場に立たされている
    トピック1:
    トピックキーワード: ai amazon position amazon finds catch catch ai finds finds unusual playing playing catch
    トップパラグラフ:
    エンティティ: AmazonはAIに関連するものから出てきています。しかし、真のストーリーはMicrosoftです。
    キーワード: Amazonは珍しい立場に立たされており、AIに追いつくためにMicrosoftを追いかけることになりました。

    エンティティ: AIレイヤーをエンタープライズソフトウェアに組み込み、Microsoft Copilotとして謳われていました。
    キーワード: 昨年のように、興味深いイベントであるAWS Invent Weekで、AmazonはMicrosoft Copilotという回答を提供し、クラウド大手としての地位を確立することができるかもしれません。

    エンティティ: AIレイヤーをエンタープライズソフトウェアに組み込み、Microsoft Copilotとして謳われていました。
    キーワード: 昨年のように、興味深いイベントであるAWS Invent Weekで、AmazonはMicrosoft Copilotという回答を提供し、クラウド大手としての地位を確立することができるかもしれません。

    https://techcrunch.com/2023/12/01/amazon-ai-catchup-microsoft/

  12. buchikuma-info より:

    「ai ai 開発者 biases」に関する最新情報です。

    マクニカは、Weights & BiasesのAI開発者向けプラットフォームを提供することを発表しました。このプラットフォームは、エンタープライズAI開発の実験、管理、検証、運用を支援する機能を提供しています。マクニカは、Weights & Biasesとのパートナーシップを強化し、既存のソリューションにエンタープライズグレードのMLOps機能を追加することで、AI開発者のニーズに対応しています。また、NVIDIAのGPUリソース管理向けソフトウェアも組み合わせて提供され、AI開発のハードウェアとソフトウェアの販売とサポートも行われます。

    https://news.google.com/rss/articles/CBMiOGh0dHBzOi8vY2xvdWQud2F0Y2guaW1wcmVzcy5jby5qcC9kb2NzL25ld3MvMTU0OTEzNi5odG1s0gEA?oc=5

  13. buchikuma-info より:

    「スイートホーム スイートホーム メイド メイド」に関する最新情報です。

    パズルゲーム『スイートホームメイド』が本日正式リリースされました。このゲームは、管理人の生活を楽しむことができるパズルゲームであり、30万人のプレイヤーを目標とした事前キャンペーンも達成しました。リリース記念ログインボーナスやガチャチケットのプレゼントなど、多くの報酬が用意されています。ゲームの特典として、美麗なイラストブックや限定アイテムも提供されています。

    https://prtimes.jp/main/html/rd/p/000004485.000032953.html

  14. buchikuma-info より:

    「テスト 自動化 テスト 自動化」に関する最新情報です。

    ソフトウェアテストのバルテスが「はじめてのテスト自動化導入の手引き」を公開しました。この手引きは、テスト自動化の基礎知識や導入のステップ、成功のポイントなどを解説しており、テスト自動化に興味がある人や導入を検討している人に役立つ内容です。また、バルテスはソフトウェア品質向上プラットフォーム「Qbook」を運営しており、テスト自動化に関する情報やツールの選定についても提供しています。

    https://prtimes.jp/main/html/rd/p/000000278.000030691.html

  15. buchikuma-info より:

    「studio 制作 webサイト」に関する最新情報です。

    株式会社カワッタデザインは、STUDIO公認パートナーとして、運用が驚くほどラクなWebサイトの制作を提供しています。STUDIOを使用することで、スピード感のある制作、修正、運用が可能になります。STUDIOはノーコードデザインツールであり、2023年10月30日に公認パートナーとして認定されました。株式会社カワッタデザインの代表取締役である河田悠輝氏によると、STUDIOを使うことでWebサイトの制作が簡単になり、運用もスムーズに行えるとのことです。

    https://prtimes.jp/main/html/rd/p/000000004.000124643.html

  16. buchikuma-info より:

    「ピクセル ファイナル ファイナル ファンタジー」に関する最新情報です。

    任天堂スイッチで遊べるピクセルリマスター版ファイナルファンタジーVIについての分析データを元に要約すると、このゲームはノスタルジーを感じることができる良い作品であると言えます。改良点としては、オペラの感動的なシーンやブーストモードの導入などがあります。ブーストモードはゲームを簡単にするわけではなく、ダンジョンの難易度が高いため、チートを使うことも仕方ないかもしれません。ただし、育成のバリエーションは少ないという意見もあります。全体的には、ファイナルファンタジーVIのピクセルリマスター版は、ノスタルジックな雰囲気を楽しむことができるゲームと言えます。

    https://chara.ge/final-fantasy/ff6pr-review/

  17. buchikuma-info より:

    「商品 生成 amazon」に関する最新情報です。

    Amazonは、セラー向けの新しい広告ツール「Amazon Ads」を発表しました。このツールはAIを使用して商品の背景画像を生成し、適切な背景を追加することができます。商品の説明に基づいて自動的に生成されるだけでなく、プロンプトからの入力も可能です。これにより、商品の魅力的な画像を簡単に作成することができます。また、白背景の商品画像に適切な背景を追加することで、クリックスルー率が40%増加するとされています。このツールは、Amazon Adsの加入セラーが利用できるようになっています。

    https://www.itmedia.co.jp/news/articles/2310/26/news088.html

  18. buchikuma-info より:

    「ロボット 配送 amazon」に関する最新情報です。

    Amazonは、配送関連の年次イベントで、フルフィルメントセンターを効率化するロボットシステム「Sequoia」や人間と共存し、センター内で荷物を運ぶ2足歩行ロボット「Digit」、新型ドローンなどを発表しました。また、2030年までにRivianの電動配送バンを10万台導入する計画や、AI採用の配送用バンの自動車料検査システム「AVI」も発表されました。さらに、最新モデルの配送ドローン「MK30」のプロトタイプも披露されました。これらのイノベーションは、Amazonの配送業務を効率化し、よりスムーズな配送サービスを提供することを目指しています。

    https://www.itmedia.co.jp/news/articles/2310/19/news097.html

  19. buchikuma-info より:

    「amazon amazon fire fire」に関する最新情報です。

    タイトル:あなたに最適なAmazon Fireタブレットはどれですか?

    この記事は、AmazonのFireタブレットの分析データを利用して、最適なFireタブレットを選ぶための情報を提供しています。記事では、Amazon Fire HD 10(2021年)、Amazon Fire Max 11、Fire HD 8(2022年)、Fire HD 8 Kids Edition(2022年)の各モデルについて詳しく説明されています。

    Fire HD 10(2021年)は、明るい画面と4GBのRAMを備えたタブレットで、映画を視聴したりウェブを閲覧したりするのに最適です。Fire Max 11は、最もパワフルなタブレットであり、明るく鮮明な画面と優れたスピーカーを備えています。Fire HD 8(2022年)は、プロセッサのアップグレードと薄いデザインが特徴で、持ち運びに便利なサイズです。Fire HD 8 Kids Edition(2022年)は、子供向けの耐衝撃性ケースと2年間の保証が付いており、子供に最適なデバイスです。

    記事では、各モデルの特徴や価格などが詳細に説明されています。また、Fireタブレットのカバーやアクセサリーについても紹介されています。

    要するに、最適なAmazon Fireタブレットを選ぶためには、使用目的や予算、特徴などを考慮する必要があります。各モデルの特徴を比較して、自分に合ったタブレットを選ぶことが重要

    https://www.wired.com/gallery/best-amazon-fire-tablet/

  20. buchikuma-info より:

    「サービス データ try」に関する最新情報です。

    株式会社ワコールは、30周年を迎えた「WACOAL SIZE ORDER」の新商品として、3D計測サービス[3D smart & try]のデータを活用したブラジャーを発売することを発表しました。この新商品は、バストの大きい方向けに設計された「華奢見えブラ」というコンセプトで、バストを小さく見せることではなく、バストを美しく見せることを目指しています。このブラジャーは、2023年7月12日に発売されます。

    https://prtimes.jp/main/html/rd/p/000000605.000009664.html

  21. buchikuma-info より:

    「amazon amazon fire fire」に関する最新情報です。

    The article is about the best Amazon Fire tablets to buy in 2023. It discusses different models, including the Amazon Fire HD 10 (2021), Amazon Fire Max 11, Fire HD 8 (2022), Fire HD 8 Kids Edition (2022), and Amazon Fire 7 (2022). The author provides recommendations based on features such as screen quality, speakers, battery life, and price. They also mention the option to buy older models at a lower price, but caution about software updates and access to content. The article highlights the benefits of Amazon Prime subscription and the availability of accessories like covers and keyboards. Additionally, it mentions the limitations of the Fire tablets, such as the lack of Google Play Store and limited app selection.

    https://www.wired.com/story/best-amazon-fire-tablet/

タイトルとURLをコピーしました