問題タブ [www-mechanize]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
html - Perl Mechanize モジュールのセッション Cookie の問題
perl スクリプトを使用して、Web サイトとの対話を自動化しようとしています。
モジュール WWW::Mechanize を使用して設計を実現します。しかし、ウェブサイト [https] はセッションの有効期限が切れていることを示しています。
誰でもこの問題を解決できますか。
perl - WWW::機械化とワイド文字の警告
以下のコードでHTMLファイルをダウンロードしようとすると:
警告が表示されます:
誰かがこの警告を修復する方法を説明できますか?
perl - WWW-Mechanize を使用する Perl スクリプトが断続的に失敗するのはなぜですか?
WWW-Mechanize を使用して Perl スクリプトを作成しようとしています。これが私のコードです:
問題は次のとおりです。
- スクリプトを開始すると、問題なく終了します。
- スクリプトを再開します。スクリプトは「$browser->get()」で失敗します。
しばらく待つ必要があります(約5分)。その後、再び機能し始めます。
私は Linux で作業しており、WWW-Mechanize バージョン 1.66 を使用しています。
何が問題なのですか?コンピューターにもルーターにもファイアウォールがインストールされていません。さらに、「die ...」行のコメントを外しても、get() 呼び出し内で停止するため、役に立ちません。最新の 1.71 にアップグレードすることはできますが、他の誰かがこの Perl モジュールでこれを経験したかどうか知りたいです。
perl - Perlからの出力を整理する方法::簡潔な順序で機械化する(変数または名前を使用)
LinuxのopenSUSE11.4を実行しています。私はこの小さなプログラムをLinuxボックスで実行しようとしています。
私はURLのリスト(1000を超えるURL)を持っているので、ソートされていない方法で結果を取得すると問題になる可能性があります。
ファイルに保存された1000個のURLのリストが各行に1つずつあります。上記のスクリプトでファイルを開き、行を読んでからWebサイトを取得します。URLは次のように保存されます。
サムネイル画像が特定の名前(ドメイン名など)で保存されるようにスクリプトを作成するにはどうすればよいですか。そうでなければ、結果は完全に混乱するでしょう。URLに基づいてサムネイルを識別する必要があります。これは可能ですか?
perl - 名前のない送信で名前のないフォームに www::mechanize でログインする
http://site/signin/index.phpのような Web サイトに perl でログイン (安定) したい。このページにはフォームがあり、名前なしで送信します。どうすればログインできますか? これはログインするためのコード例です:
これが私のフォームです
perl - WWW::Mechanize を使用してリダイレクトを使用して Web サイトにログインする
フォーラムで既に尋ねられた質問のように聞こえますが、ここでは少し異なるシナリオがあると思います..
Perl を使用して、認証が必要な Web サイトにログオンしようとしています。このタスクを達成するための最も便利なツールは、フォームに入力して送信するのが非常に簡単な WWW::Mechanize モジュールを使用することであることに既に気付きました。
私の場合、次のような問題が発生します。
- 入力したいフィールドに関連する「フォーム」がないようです。代わりに、フィールドは table にラップされます
<table></table>
。 - ボタン自体は、Mechanize モジュールでサポートされていないことがわかっている JavaScript を起動するようです。ただし、このページの動作をテストするために、Chrome ブラウザーで JavaScript を無効にしましたが、ボタンをクリックしてサイトにログインすることはできました。したがって、ここではjavascriptは必須ではないと思います。
次のコードを使用していますが、入力した詳細 (ユーザー/パス) は問題ではないようです。何らかの理由で、常に「成功」シナリオに従い、「ログイン成功!」を受け取ります。
/li>
その結果、スクリプトの実行は成功しているように見えますが、既にログオンしていると仮定してサイトからデータを取得しようとすると、(スニファーで) 「登録」ページに継続的に転送されていることがわかります。 .
どんな助けでも大歓迎です!
前もって感謝します!
perl - WWW::テキストフィールドの問題を機械化する
WWW::Mechanize
perl モジュールを使用して post メソッドでフォームを送信しようとしています。
$field_name
は一般的にテキスト フィールドであり (ただし、型はフォームで明示的に指定されていません)、事前設定された値があります。
$field_name => $field_value
何らかの理由で$mech->submit_form
値を置き換えず、代わり$field_value
に元の値の後にフォームに追加されます。
提出するフォームで{original_value}
と置き換える方法は?{provided_value}
perl - Mojo::UserAgent: テキストのみを取得する
どうすれば同じ結果を得ることができMojo::UserAgent
ますか?
私はこれを試しましたが、同じものを返しません:
perl - Perl Mechanize - 少ないオーバーヘッドでスクリプトを高速化する方法
問題: 2500 の Web サイトのリストがあり、それらのサムネイル スクリーンショットを取得する必要があります。それ、どうやったら出来るの?Perl を使用してサイトを解析することもできます。Mechanize を使用するとよいでしょう。注: 長辺が最大 240 ピクセルのサムネイルとしてのみ結果が必要です。現時点では、遅くてサムネイルを返さない解決策があります。オーバーヘッドを減らしてスクリプトを高速に実行する方法 - サムネイルを吐き出す
前提条件: addon/mozrepl/ モジュール WWW::Mechanize::Firefox; モジュールイメージャ
最初のアプローチ:最初の Perl ソリューションは次のとおりです。
アウトライン:指定されたタブまたは PNG 画像としてレンダリングされた現在のページを返します。すべてのパラメーターはオプションです。$tab のデフォルトは現在のタブです。座標が指定されている場合、その長方形が切り取られます。座標は、左、上、幅、高さの 4 つの通常のエントリを持つハッシュにする必要があります。これは WWW::Mechanize::Firefox に固有のものです。
perldoc からわかるように、座標を使用したオプションは、ページ全体のサイズ変更ではなく、単に長方形を切り取ったものです....まあ、WWW::Mechanize::Firefox がスクリーンショットの保存方法を処理します。さて、私は画像を小さなサムネイルとして持つだけでよいことを忘れていました-したがって、非常に大きなファイルを用意する必要はありません...それらのサムネイルのスクリーンショットを取得するだけで済みます。$png を縮小するモジュールを cpan で検索したところ、Imager が見つかりました。
mecha-module は、画像のサイズ変更には関与しません。ここには Imager のような CPAN 上のさまざまな画像モジュールがあります。Imager - 24 ビット イメージを生成するための Perl 拡張機能: Imager は、イメージを作成および変更するためのモジュールです。さまざまな画像形式の読み取りと書き込み、線や多角形などの基本的な形状の描画、さまざまな方法での複数の画像のブレンド、スケーリング、トリミング、テキストのレンダリングなどを行うことができます。モジュールをインストールしましたが、基本的なアプローチを拡張していませんでした
私がすでに試したこと; ここにあります:
さて、これはサイズを気にしません:
出力コマンドラインを参照してください。
これは私の情報源です... URL リストにあるサイトのスニペット [例] を参照してください。
urls.txt [ソースのリスト]
質問:タイムアウトで停止しないようにソリューションを拡張する方法。および-小さなサムネイルのみを保存します注:繰り返しますが、長い寸法で最大240ピクセルのサムネイルとしての結果のみが必要です。前提条件として、私はすでにモジュールイメージャーをインストールしています
少ないオーバーヘッドでスクリプトの実行を高速化する方法 - サムネイルを吐き出す
ご連絡をお待ちしております。挨拶ゼロ
更新:非常に興味深いSchwermsのアイデアに加えて、同じタイムアウトについて話す興味深いMonkthreadを見つけました:
WWW::Mechanize::Firefox で Net::Telnet タイムアウトを指定する方法はありますか? 現在、インターネット接続が非常に遅く、時々エラーが発生します
おそらく、mozrepl-Timeout-configuration を確認する必要があります!? しかし、結局のところ、これは奇妙で、そのタイムアウトがどこから来たのかわかりません。たぶん、実際には Firefox が何らかの結果を同期的に取得するのに忙しいため、タイムアウトしているのでしょう。トレースでわかるように、WWW::Mechanize::Firefox は Firefox がページをフェッチしたかどうかを確認するために毎秒 (またはそれくらい) ポーリングします。
それが本当に Net::Telnet である場合は、次の手順を実行する必要があります。
**更新**なので、質問は次のとおりです。Perl-Coreにある** Net::Telnet:**の使用方法
@ Alexandr Ciornii: ヒントは thx! その後、次のように 使用します: Net::Telnet; でもそれが核心にないなら、私はこのように行くことはできません。@ Daxim: $ corelist Net::TelnetNet::Telnet は CORE にありませんでした - つまり、上記のように進むことはできません
ところで: Øyvind Skaar が述べたように: その多くの URL では、一部が失敗してそれを処理することを期待する必要があります。たとえば、失敗したものを配列またはハッシュに入れて、X 回再試行します。
perl - Perl WWW:Mechanize / HTML:TokeParserおよびhrefattrからのURLのフォロー/保存
このサイトのヘルプにより、Perlである程度の進歩を遂げていますが、問題が発生しました。スクレイピングしていたページの1つが変更され、現在そのページにアクセスする方法がわかりません。私がやりたいのは、行きたい各ページへのリンクを保存することです。問題は、これらのリンクがソースコードのahref属性タグ内にあり、それらを抽出する方法がわからないことです。誰か助けてもらえますか?
必要なリンクは、このページの316行目から354行目までです(ソースコード)http://www.soccerbase.com/teams/home.sd
基本的に、他のスクリプトで使用する変数へのリンクを抽出する必要があります。前述のように、私はWWW::MechanizeとHTML::TokeParserを使用しています。うまくいけば、これらの中に使用できるメソッドがありますが、現在は理解できません。前もって感謝します!