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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Q&A

解決済

2回答

2759閲覧

Web作業自動化に適したソフト

ky_46

総合スコア92

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

0グッド

0クリップ

投稿2015/12/10 08:28

質問というよりは、ご相談に近いです。
WEBでの定例的な作業を自動化するには、どんなソフトがオススメでしょうか?

現在のところ、Sikuli(シクリ)、Selenium、サイトロジー2を試験しています。

主に思いつく定例作業をあげてみると、

1.WEBサイトに接続し、ログイン。中のリンクを辿り、所定の場所へ。日付や、選択のラジオボタンを操作後、ファイルをダウンロード。

2.作成したURL一覧を元に、URLを総当たりして、ページ中の情報の一部をデータとして取ってくる。

3.サイトからリンク先のURLを取得して辿って行き、ページ中の情報の一部をデータとして取ってくる。

現在、1は人間が手作業で、2と3はVBでWebBrowserコントロールを使い、得られたHTMLをstringに格納して、文字列検索で強引に分解して処理しています。

Sikuli(シクリ)は画像を元にしているため、大量のWEB操作には向いていないように思います。1でも失敗がけっこうありましたので…

Selenium は慣れないJAVAで四苦八苦しています。
また、Sikuli(シクリ)やSelenium は開発プログラムのテストとして紹介が多く、ロボットのように使用しても問題無いのかしら? という点もひっかかっています。

サイトロジー2は試験を始めたばかりですが、有料の上、あまりネット上に情報が無さそうなところが少し躊躇しています。

なにかオススメのものがありましたら、教えてください。

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

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

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

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

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

guest

回答2

0

プログラミング対して苦手な方はノーコードのスクレイピングツールがおすすめします。

投稿2021/04/29 10:43

Elliot

総合スコア37

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

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

0

ベストアンサー

Selenium は慣れないJAVAで四苦八苦しています。

もし言語が問題なら、C#用のSeleniumをVB.NETから利用できます。
http://www.seleniumhq.org/download/

また、Sikuli(シクリ)やSelenium は開発プログラムのテストとして紹介が多く、ロボットのように使用しても問題無いのかしら? という点もひっかかっています。

かなり多くのテストに利用されているという実績があるので、むしろ大きな問題は無いのではないかと思います。
ただしテストは小さいタスクを何回も実行するタイプなので、再起動なしの長期間稼働についてはわかりかねます。

なにかオススメのものがありましたら、教えてください。

現状困ってないのであれば、今の形で問題ないと思います。
もし遅すぎてどうしようもないとかであれば、SeleniumからPhantomJSを使うなど改善方法はいくつかあるかと思われます。

投稿2015/12/10 09:44

hello-world

総合スコア1342

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

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

ky_46

2015/12/10 10:00

ありがとうございます。第4選択肢として、VBでSeleniumを試用してみます。
ky_46

2015/12/10 10:03

ありがとうございます。どうにかこうにか、JavaからGoogleへ行って、キーワード検索をするという試験まではできていました。 VBで使えるというのは、助かります。早速、実験してみたいと思います。
ky_46

2015/12/15 06:54

selenium WebDriverをVB.NETで使用した結果です。 1.新しいプロジェクトを作成する 2.プロジェクトにNuGetで、Seleniumを検索し、インストール ※同時にhtml agility packをNuGetからインストール 次のテストコードを試験しました。 Imports OpenQA.Selenium Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs ) Handles Button1.Click Dim driver As IWebDriver = New OpenQA.Selenium.Firefox.FirefoxDriver driver.Url = "http://news.infoseek.co.jp/ranking/" Dim htmlText As String = driver.PageSource Dim HtmlDocument = New HtmlAgilityPack.HtmlDocument() HtmlDocument.LoadHtml(htmlText) Dim Nodes As HtmlAgilityPack.HtmlNodeCollection Nodes = HtmlDocument.DocumentNode.SelectNodes("//div[@class=""section-box__contents""]/ul/li/div[@class=""ranking-list__text""]/a" ) Dim node As HtmlAgilityPack.HtmlNode For Each node In Nodes Dim url2 As String = node.GetAttributeValue( "href", "" ) driver.Url = "http://news.infoseek.co.jp/" & url2 Dim htmlText2 As String = driver.PageSource Next End Sub End Class HTMLパーサーは別の質問からのご回答で組み込みましたが、HTMLの必要部分を取り出し、順番にリンクを辿っています。 貴重な情報をありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問