• ベストアンサー

URLの取得について

下記の様な処理を行いたいのですがうまくいきません。 http://aaa.ne.jpというページでUSERIDとPASSを入力してログインし、ログイン後のページのリンクを取得する。そしてそのリンクのページにいく。 リンクはソースを見たところ、"A href="/abc.jsp;abdcj"となっており、abdcjの部分は毎回変わります。ちなみにフレームのページです。 Perl初心者ですのでやり方、わかりやすいホームページ等、ご教示下さい。

  • Perl
  • 回答数2
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • guci-ok
  • ベストアンサー率33% (49/146)
回答No.2

このような要求に答える代表としてWWW::Mechanizeがあります。 ある程度簡単なウエブサイトであれば、これで簡単に操作できます。 しかし、フレームその他、複雑なサイトでは、色々な壁にぶつかるかもしれません。 その場合には、使うモジュールになにが出来るのかや、ウエブサイトの仕組みやHTTPプロトコルの仕組みについて、深い知識と洞察が必要です。

その他の回答 (1)

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

で、結局何がしたいのですか? リンクのページに飛んでも何も取得するものがないとPerlを使用する意味がありません。 あと、ログイン方法もどのような形式かによって変わります。 普通に作るとして、IDとPASS付きのURLからソースを取得して、正規表現でAタグを調べてURLを取得するという形になると思います。 フレームページはどのようになっているのかが分かりませんが、ログインするとフレームになるんでしょうか? その場合はログイン→該当のフレームページを正規表現で取得するというプロセスが入ります。 初心者では難易度が高すぎるかもしれません。

関連するQ&A

  • フレーム内に表示されているページのURLを取得して「進む」に割り当てることは可能でしょうか。

    現在ホームページを作成しているのですが、インラインフレームを一部使用して 作成しております。 インラインフレーム内に表示されるページが例えば、 contents1.html~contents100.html 以上のページを表示したいと思います。 その下に「戻る」と「進む」の画像を作成リンクを設定したいと考えております。 初期段階では「contents1.html」のページがインライン内に表示されているとします。 「進む」をクリックすると「contents2.html」が表示され、再び「進む」をクリックすると「contents3.html」が表示されるようにしたいと考えております。 フレーム内に表示されているページのURLを取得して「進む」に割り当てることは可能でしょうか。 「戻る」と「進む」はフレーム外に設定されております。 インラインフレーム内のページが変わると「進む」に設定されているリンク随時が変わるようにしたいのですが、ご教授頂けたら幸いで御座います。 よろしくお願いいたします

  • リンクしたいURLの見方。

    <A>タグリンクで、よそのページへリンクすることが出来るのは知っていますが、 フレームセットのページにリンクした場合、 そこを開くことで、 フレームセットで用意してある、トップページにリンクします。 やりたいことは、URLを開くと、 (1)まず、フレームセットのページを開く。 (2)さらに、一部のフレームの中身をそのホームページ内の特定のページにする。 どういうURLのAタグになるのでしょうか?

  • URLを ユーザーがわざとというか間違って / をたくさん 増やした場合

    今日たまたまきがついたのですが http://xxxxx*.com/abc.html  があるとすると http://xxxxx*.com//abc.html  とされてもブラウザで同じページが表示されるのですが リンクを REQUEST_URI でいれていると <a href="/abc*.html">○</a> が <a href="//abc*.html">○</a> になり ブラウザが、 ドメイン削って http://abc*.html みたいな感じで 変なアドレスに解釈するんです(--;) やっぱり、 絶対リンクで SERVER_NAME + REQUEST_URI で つなげるのが普通でしょうか・・・

    • ベストアンサー
    • HTML
  • 前のページのurlを取得するには?

    サイト内の十数ページで、関連記述の相互リンク <a href="xxx.html#yyy"> を 多用しています。ページの途中にジャンプするので、訪問者様が迷子にならないよう、 <body onLoad="parent.menuFrame.document.images[n].src='active.gif'" onUnload="parent.menuFrame.document.images[n].src='inactive.gif'"> で 居場所を表示しています。また、コンテンツの性格上、年輩の方が大きな文字で ご覧になることも予想され、表示領域が不足しないように、<a href="topPage.html" target="_top">フレーム解除の案内文</a> をtopPage.htmlに入れています。 一方、検索サイトから個別ページへの訪問者様を一度はフレーム版に誘導するため、 <a href="framesetPage.html" target="_top">トップページ</a> を各ページ上に 書いているのですが、虻蜂取らずで、トップページでフレーム解除を選択した方も、 各ページで「トップページ」をクリックする度にフレーム版に戻ってしまします。 要領を得ない説明で恐縮ですが、フレーム版でご覧いただくのを基本に、フレーム解除 を選んだ方には、ノンフレームのままtopPage.htmlと行き来していただきたいのです。 個別ページ上の<a href="topPage.html"> について、document.referrer が私の サイト外のときのみ target="_top" を指定しようと考えたのですが、referrerで urlを取得できないブラウザも多いとか・・・ アドバイスをお願いします。m(_ _)m

  • DBからの値を取得する方法!?

    始めまして。プログラム初心者です。DBは出来上がってるのですが、DBからの値を取得する文を何処にどうやって書けば良いか分かりません。 以下は自分で書いた文ですが・・・ 値はusernameで、ようこそXXXさんのXXXにログインした人の名前を出すのが目的です JSPの文です↓ <%@ page contentType="text/html; charset=Windows-31J" %> <%@ taglib uri="/tags/struts-bean" prefix="bean" %> <%@ taglib uri="/tags/struts-logic" prefix="logic" %> <%@ taglib uri="/tags/struts-html" prefix="html" %> <%@ taglib uri="/tags/struts-nested" prefix="nested" %> <html:html>         <head> <body> <P> <html:html>         <head> <meta http-equiv="Content-Type" content="text/html; charset=Windows-31J"/> <title>ログインしました</title> <html> <A HREF="/kadai/pass.jsp">パスワード変更</A><br> <A HREF="/kadai/Login.jsp">ログオフ</A> ようこそ <bean:write name="username" scope="session"/> ←これで入力したが反映しません・・・ さん    </body> </html:html> </P> </head> <html> <A HREF="/kadai/pass.jsp">パスワード変更</A><br> <A HREF="/kadai/Login.jsp">ログオフ</A> </body> </html:html> 環境ですがstruts、Oracle、tomcat、eclipseです

  • 内部リンクを外部リンクにできる作成ソフト

    今無き、adobe Golive にてホームページサイトを作成しています。 A(index) とBとCの3ページを作成して各々リンクすると、検索エンジンは、各々内部リンクでつながっていると判断されますが、ブログのように各々ページが外部リンクとしてつながっているサイトのほうが、被リンク数が多く、SEOがいいように思えます。 そこで、ドメインが、http://www.ABC.co.jp/の場合、BからAにリンクした際、ドメインを指定しておいて、ソースが <a title="Aページ" href="../index.html">A</a>ではなく <a title="Aページ" href="http://www.ABC.co.jp/index.html">A</a> または、 <a title="Aページ" href="http://www.ABC.co.jp/">A</a> と記載されるような作成ソフトはありませんでしょうか?

  • フレーム越しでページ内リンクを行う方法

    お世話になります。 フレームAのボタン(アイコン)押下で、 フレームBに以下のようなページ内リンク(?)をさせるには、 どのようにしたらよいでしょうか? ----------------------------- <A name="****" href=""> ~ <A href="#****"> ----------------------------- お手数ですが、ご教示お願いいたします。<(_ _)>

  • 文字・URLの切替えに関してです。

    Javascript で次のようにしました。 (参考図) 上フレーム(A.php)name="A" 中フレーム(B.php)name="B" 下フレーム(C.php)name="C" ※ 縦に3段組のレイアウト。 ▼ A.php <script language="JavaScript"> function abc(url){ parent.B.xxx.innerText=url; } </script> </head> <body> <a href="B.php" target="B" onClick="abc('B.php');">C.phpページのURLを切替える</a> </body> ▼ C.php <body> <td id="xxx">D.php</td> <ul> <li><a href="D.php" target="B">切り替えページ</a></li> </ul> </body> それで A.phpページのリンクをクリックすると・・・ C.phpページの td id="xxx" の D.php のところは、B.php と切替えることはできたのですが C.phpページの a href のところのURL(D.php)を B.php と切替えるには、どうしたら良いのでしょうか? ちなみに、C.phpページはリロードさせないので、PHPの $_SESSION 関数での対応は無理でした。 中途半端な知識で対応できず、苦しんでおります。 ちなみに、分かりやすく詳しく教えて頂けると非常に助かります。 もし宜しければ何方か、どうか教えて下さい。宜しくお願いします。

  • HTMLのソースの取得・正規表現

    プログラム自体始めて間もない初心者です。 javascriptでHTMLのソースを取得して、正規表現でマッチしたURLを書き出したいと思います。 取得したソースから正規表現で抽出はできましたが、さらに手を加えると機能しませんでした。 下記test-1では「http://abc.com/」と表示されましたので思った通りに動きました。 しかし、test-2では「http」と表示されると思っていたところ、表示されませんでした。 この違いはなんでしょうか? //////////////////// test-1 <html> <head> <script type="text/javascript"> function test(){ aaa = document.getElementsByTagName("html")[0].innerHTML; bbb = aaa.match(/http:\/\/abc\.com\//); document.write(bbb); } </script> </head> <body> <input type="button" onclick="test()"> <a href="http://abc.com/"> </body> </html> //////////////////// test-2 function test(){ aaa = document.getElementsByTagName("html")[0].innerHTML; bbb = aaa.match(/http:\/\/abc\.com\//); ccc = bbb.match(/http/); document.write(ccc); }

  • 上下フレームのHPからaaa.htmlの#bbbへ飛ぶには??

    上下のフレームを使ったHPを作っています。 下フレーム内にリンクを貼って、上下のフレームのある他のページの特定の場所に飛びたいのですが、上手くいきません。 元のリンクは<A target="_top" href="aaa.html#bbb"> リンク先aaa.htmlにはちゃんと<a name="bbb" id="bbb"></a>を書いています。 フレームがこの問題に絡んでいるのではないかと思うのですが、 解決策を見つけることが出来ませんでした。 アドバイスをお願いいたします。