パソコンを使って、ネットやアプリケーションの操作を自動化するプログラムを作りたいと考えています。
私はプログラムに関してはほとんど知識が無いので基本から勉強するのですが、上記のような自動操作をしたい場合はどのようなプログラム言語を勉強すれば宜しいでしょうか?
お勧めプログラム言語とあわせて、プログラムの勉強に役立つ書籍やサイトもご紹介いただけるとありがたいです。
ちなみに、学生時代にC言語を少し学びました。(情報処理は専門外なのでほんの少しですが・・・)
また、見よう見まねでVBを使った自動操作プログラムを組んだこともありますが、参考書を見ながら必要な部分を改造しただけなので基本は全然出来ていないと思います。
何卒宜しくお願いします。
A 回答 (8件)
- 最新から表示
- 回答順に表示
No.8
- 回答日時:
こんにちは。
私も同様のことに取り組んでいます。Windows 自動化ソフト UWSC のスクリプト機能を利用しています。質問に答える形式で UWSC の機能をご紹介します。
> 1.IEを操作して自動ログインしたりWEBサイト上のデータを自動取得する
可能です。
UWSC Pro にバンドルされている RecIE と呼ばれるツールを使って、ウェブブラウザ (IE) の操作を記録し、UWSC スクリプトエンジンで解釈実行できるスクリプトデータを自動作成してくれます。後は UWSC スクリプトエンジンからそのスクリプトを選択して起動を指示すれば OK です。
> 2.WEB上で自動取得したデータをローカルPCにCSVファイル等でエクスポートしたり、逆にローカルPCのデータを読み込んでWEB上の操作に反映させたりする。
可能です。
RecIE で取得したデータをスクリプトの操作の対象とすることも出来ます。UWSC はファイルアクセス機能を持っています。CSV ファイルの読み出し、書き込み機能を具備しています。
(参考URLについて)
UWSC のポータルです。UWSC Pro をインストールすると c:\Program Files\UWSC\sample フォルダに IE 関連の例題スクリプトが二つ格納されています。またサポート掲示板には、質問者と同様の問題領域に取り組んでいる沢山の方がいらっしゃいます。参考になさってください。
参考URL:http://www.uwsc.info/
No.7
- 回答日時:
WEBのプログラム言語と言えばphpです。
htmlが書けるのならなおさら。
htmlと併記できるので、ちょっとした自動化には一番適していると思います。
自動化といえば、クローラーなどですが、スクリプト言語で書いてcroneで定時実行するのが一般的ですね
私もphpなどで作ったクローラーでmysqlにデータ保存したりしていますが、
javascript単体でmysqlは操作できなかったと思います。
オススメの書籍は、phpの絵本です。
参考URL:http://top-10-algorithms.sl-jp.com/php/
No.6
- 回答日時:
>私のようなこれからプログラムを勉強しよう、という人はまだ好みも無いと思うのですが、皆さんどのようにして選択しているのでしょうか・・・。
好みが無い、って事は逆に良い事かもしれませんよ。
少なくとも僕が知ってる限り、
1.学校や職場で使ってるからその言語を覚えざるを得なかった。
2.自分の好きなソフトを作りたいんで、それに向いた使いやすい言語を自分で探す
と言う2つのタイプの人たちがいると思います。
1番目は「好き/好きじゃない」ってのはあんまり関係ありませんね。「使わなきゃならなかったんで」それを使ってるだけ、です。だからある種参考にはなり辛いんです。「業界スタンダード」なんて変わらないようで、実は永久不変のモノじゃあありません。(大昔は「何でもかんでもC」と言ってたし、その前では「何でもかんでも機械語/アセンブラ」とか言ってました)
むしろ耳を傾けなければならないのは2番目の人の意見です。こっちも「永久不変じゃない」のは間違い無いんですが、一方「それを利用すれば便利だ」と言う事を良く知ってるワケです。また、色々な言語の知識があるんで、こう言う人から情報を得た方が良いと思います。そう言う人たちを「ハッカー」と呼びます。(コンピュータ・ウィルスをまき散らすような人たちではなく、そのテの迷惑な人種は「クラッカー」と呼びましょう。)
C#に付いては良く分かりませんが、この人が言ってるんだったら間違いなく良い言語なんだろうな、とは思っています。
http://www.ogis-ri.co.jp/otc/hiroba/others/OORin …
これ読む限りC#は面白そうです。また、彼の発言の中にRubyやSchemeと言う言語の名前も出てきますね。そこから「アタリを付けて」そのテの言語に関して調べてみる、ってのも一興です。「好みが無い」のだったら何もVBとかJava、そしてJavaScriptにこだわる必要性もないでしょう。
>WEBやアプリ向け自動操作に適したプログラム言語
原則「適したプログラム言語」ってのは無いんですよ。例えば構文上の規則であるとか、機能面で「Web向けの言語だ」と言えるモノは特に存在しないと思います。
特に、Linux/FreeBSD系のOSだと「Web自体が自分の庭」みたいなモノなんで、Windowsのように「敷居を越えて」と言う感覚的なモノはないです。何故ならサーバー用途で使われているOSですし、基本、「Linux/FreeBSDで動く言語」だったら全てWeb向きです。そしてそう言う言語の数はLinux/FreeBSD上では無茶苦茶多い。逆に言うと、「Microsoft Windows限定環境」だから「何かの特別な」言語が必要に思えてくるんです。
つまり、言語間に差があるとすれば「言語自体の基本機能/能力」の問題じゃなくって、保有しているライブラリが「Web向けか否か?」って事なんですよね。違いは「自分で苦労してプログラムを書くか?」それとも「単にライブラリを呼びだせば済むのか?」なんです。前者は後者に比べるとメンド臭いんですよ(笑)。ただし、「出来ない」と言うワケではないのです。
ちょっとは安心したでしょうか(笑)?極論何でも良いんです(笑)。
>見よう見まねでVBを使った自動操作プログラムを組んだこともありますが、参考書を見ながら必要な部分を改造しただけなので基本は全然出来ていないと思います。
才能ありますね。
「見よう見まねで改造してプログラムを作る」
と言うのはオープンソース界のプログラマの基本技術のようですよ(笑)。
参考URL:http://cruel.org/freeware/hacker.html
No.5
- 回答日時:
>だからVB(.NET以降)がすすめられなくて
>C#はすすめられるってこと自体変。
だからこれは当方の主観だからと言っている。^^;
偏見ではあるが、VBは昔ながらの職人が多いので聞いても親切な人が少ない。
その点でC#はまだ若いので先を走る技術者が躍起になって解説したがる。
・・・気がする。
ドキュメントはどっちもどっちだしね。
これも好みの問題だろうけど。
アドバイス有難うございます。
> これも好みの問題だろうけど。
どのプログラム言語を学ぶかは最終的には好みの問題になるということですね。
私のようなこれからプログラムを勉強しよう、という人はまだ好みも無いと思うのですが、皆さんどのようにして選択しているのでしょうか・・・。
No.4
- 回答日時:
>当方の主観も多分に入っていますが、VBはお勧めしません。
>カルい処理(失礼)ならC#がお勧めです。
.NET以降のVBもC#も.NET Framework上で動くアプリで結果的には
同じこと。
だからVB(.NET以降)がすすめられなくて
C#はすすめられるってこと自体変。
VB(6)まででもサブクラス化とWin32APIをたたけば神業的なソフトが作れるんですけどね。
>OSに直結した操作をしたいならばCやアセンブラをとことん突き詰める必要があるでしょう。
アセンブラもCもいらない。いらない。
(カーネルモードのソフトを作るわけではないんだから)
今回の事だとサブクラス化、メッセージフック、キーボードフック、マウスフックあたりが肝になるかな。
アドバイス有難うございます。
結局はVBもCも使い方次第で何でも出来る、ということでしょうか。
ということは少し触ったことのあるVBやCを勉強したほうがいいということになるんでしょうか。
勉強不足で用語について分からない部分がありますので調べながら確認したいと思います。
No.3
- 回答日時:
>パソコンを使って、ネットやアプリケーションの操作を自動化するプログラムを作りたいと考えています。
もう少し具体的な理想を教えていただけるとアドバイスしやすいかもしれません。
クライアント側を操作し、ネット上の情報を自動取得するのであればC++やC#が良いです。
当方の主観も多分に入っていますが、VBはお勧めしません。
OSに直結した操作をしたいならばCやアセンブラをとことん突き詰める必要があるでしょう。
カルい処理(失礼)ならC#がお勧めです。
HPを持っていて、サーバ上で自動取得したいのであればPHPかPerlが良いです。
ここ2~3年で大きく躍進しているRubyも良いでしょう。
プログラマ人口が最も多いといわれるjavaでもJSPを用いればやりたいことは大抵出来ます。
この辺は好みとやる気ですね。当方はPHPerなのでPHPを薦めておきたいところです。
もっとも「自動取得」に至るまでの道程はいづれも厳しく険しいものだとは思いますが。
一朝一夕のもので出来るものではありません。
>JAVA Script
お約束ですが。
java,javascriptは全く以って別物です。
>MicroSoft
そんな会社は存在しません。
>有名で且みんなが持っているJAVA
それは絶対にありえません。
アドバイス有難うございます。
> もう少し具体的な理想を教えていただけるとアドバイスしやすいかもしれません。
私が目標としている自動操作とは、
1.IEを操作して自動ログインしたりWEBサイト上のデータを自動取得する
2.WEB上で自動取得したデータをローカルPCにCSVファイル等でエクスポートしたり、逆にローカルPCのデータを読み込んでWEB上の操作に反映させたりする。
というようなことです。
見よう見まねでVBを使った自動操作プログラムを組んだこともあると書きましたが、上記1.の部分はかなり粗雑なものですがVBである程度自動操作するところまでできました。
(ほとんどsend keyでキーボードを操作しただけなのでプログラムとすら呼べないと思います。)
ただ、WEB上のデータを取得したり、ローカルファイルを読み込んで自動操作に反映させたりというところまで出来ませんでした。
今回は腰を据えて基本からきちんと勉強しようと思いますので、少しかじった程度のVBやCにはこだわらずに目的に適したプログラム言語を勉強しようと考えています。
> HPを持っていて、サーバ上で自動取得したいのであればPHPかPerlが良いです。
私はレンタルサーバーを借りていて、簡単なサイトを持っています。
(MYSQLやHTMLの知識も素人に毛が生えた程度ですが・・・)
PHPやPerlを学ぶことで、将来的に自動操作プログラムをASPとして運用したり出来そうなので魅力的に感じました。
> プログラマ人口が最も多いといわれるjavaでもJSPを用いればやりたいことは大抵出来ます。
JSPについては先日、初めて知りました。
ほんのさわりについての紹介だけだったのですが、簡単にスクリプトが組める、ということを盛んに強調していたのが印象的でした。
今は正直、色んな情報がありすぎてどれを学ぶべきかすら決めかねています。
いずれにしろ一朝一夕に出来ることではないと思いますから、焦らずじっくり勉強していくつもりですが・・・。
No.2
- 回答日時:
>ネットやアプリケーションの操作を自動化するプログラムを作りたいと考えています。
それは例えば、Internet Explorer を自動で操作して、OKWave にログオンし関心カテゴリの質問一覧を取得するなどしたいということですか?
C 言語などのコードから外部アプリケーションを操作するのは結構難しいです。
AutoHotKey などを利用するのがてっとり早いかと思います。
(AutoHotKey で上記のアクションができるかは分かんないよ)
参考URL:http://lukewarm.s101.xrea.com/
アドバイス有難うございます。
私が目標としている自動操作とは、
1.ご指摘にあるようなIEを操作して自動ログインしたりWEBサイト上のデータを自動取得する
2.WEB上で自動取得したデータをローカルPCにCSVファイル等でエクスポートしたり、逆にローカルPCのデータを読み込んでWEB上の操作に反映させたりする。
というようなことです。
見よう見まねでVBを使った自動操作プログラムを組んだこともあると書きましたが、上記1.の部分はかなり粗雑なものですがVBである程度自動操作するところまでできました。
(ほとんどsend keyでキーボードを操作しただけなのでプログラムとすら呼べないと思います。)
ただ、WEB上のデータを取得したり、ローカルファイルを読み込んで自動操作に反映させたりというところまで出来ませんでした。
今回は腰を据えて基本からきちんと勉強しようと思いますので、少しかじった程度のVBやCにはこだわらずに目的に適したプログラム言語を勉強しようと考えています。
> AutoHotKey などを利用するのがてっとり早いかと思います。
参考サイト拝見いたしました。
イントロダクションや使用例をざっと見ましたが、おっしゃるとおり手っ取り早く作れそうな感じですね。
ただ、上記2.の部分が出来るかが良く分からなかったのでもう少し確認してみます。
No.1
- 回答日時:
ネット関係プログラムを覚えるのだったら
JAVA Script
VB Script
などです
ソフトによっては無料で手に入れれますので
MicroSoftのホームページにでも
いったらどうでしょうか??
VB と JAVA
ならば
僕は有名で且みんなが持っている
JAVAを推薦します
アドバイス有難うございます。
何となくjavascriptがいいのかな・・・と、私も感じていました。
(単にそういう名詞を良く聞くので)
ただ、昔VBをいじった時に、書店でjavascriptを使った自動操作が解説された書籍を探したのですが見つかりませんでした。
単に探し方が悪かっただけかもしれないですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラムに書かれる"%"記号の...
-
COBOLで文字タイプを数字...
-
UNITY Float型の接尾辞fって
-
COBOLでのNOT = の AND条件
-
VBSでDim、Private、Publicの違い
-
C言語とhtmlの違いを どな...
-
Excel VBAで文字化けする (英語...
-
vbaとc言語の関連性について
-
C for Linuxでの設定ファイル読...
-
Solve()とは、なんですか?
-
TO_CHARで小数点以下がある場合...
-
C++における継続行
-
CSSは何言語?
-
C言語、C+、C++、C#の違い
-
HTMLとC++で、どんなホームペー...
-
ウェブサイトから特定の文字列...
-
TANDEM言語ってあるんですか?
-
VBSとWSHは読み方が違うだけで...
-
Transitional/ENとは
-
プログラムからアイコンファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語、C+、C++、C#の違い
-
COBOLでのNOT = の AND条件
-
UNITY Float型の接尾辞fって
-
プログラムに書かれる"%"記号の...
-
vbaとc言語の関連性について
-
C言語とhtmlの違いを どな...
-
C++における継続行
-
プログラムからアイコンファイ...
-
TO_CHARで小数点以下がある場合...
-
COBOLで文字タイプを数字...
-
パスカルケースの由来。
-
VBSでDim、Private、Publicの違い
-
Excel VBAで文字化けする (英語...
-
VBSとWSHは読み方が違うだけで...
-
VBScriptで引数を省略したい場合
-
Solve()とは、なんですか?
-
プログラムははぜ小文字大文字...
-
HTMLとC++で、どんなホームペー...
-
C++ ってなんて読む?
-
今、コンピューター言語で、COB...
おすすめ情報