問題タブ [mechanize-python]

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.

0 投票する
1 に答える
1623 参照

python - ブラウザー アクセスをシミュレートして、すべての html 要素をロードする

YouTubeページを読み込んで、次のように<embed>要素を取得しようとしています。ただし、embed 要素が見つかりません ( をsoup.find('embed')返しますNone)。

ただし、スープをhtmlファイルに書き込んでブラウザにロードすると、<embed>要素がロードされます。おそらくこれは、ブラウザが機械化と何らかのdocument.onload()魔法とは異なることに関係しているのでしょうか?

<embed>要素を表示できるように、ブラウザがページをロードする様子をシミュレートするにはどうすればよいですか?

0 投票する
0 に答える
1445 参照

python - サイトにログインするための Python の Requests または Mechanize

謝ることから始めたいと思います。私はこれが十分に何度も行われている可能性が高いことを知っています. Web サイトにログインして動作することを確認するために、Python の Requests モジュールを使用しようとしています。また、リクエストを処理するために使用する必要がある文字列を見つけるために、コードで BeautifulSoup を使用しています。

ヘッダーを適切に形成する方法に夢中になっています。ヘッダー情報には正確に何が必要ですか?

また、機械化モジュールを利用する方が良い/よりPythonicである場合は、提案を受け付けます。

0 投票する
1 に答える
536 参照

python - 機械化またはリクエストで HTML を解析できない

特定の Web サイトの HTML コードを取得/表示しようとしていますが、それができません。以下は、コードの抜粋と取得した出力です。

出力

更新次のようにスクリプトにtidylibを使用しました

エラーの出力は次のとおりです。

ノート

- FF または他のブラウザを使用してページのソース コードを表示すると、このメッセージに気付きました

-最新のbeautifulsoup4 4.3.1で試しましたが、同じ結果が得られました

-i requests ライブラリでも同じ結果が得られます。

-この投稿に似てい ますPythonはurllibまたはmechanizeでフォームを取得できません が、私では機能しませんでした

助けてください

0 投票する
1 に答える
109 参照

python - Mechanize で開いたページが「検索結果」を返さないかどうかを確認する方法はありますか?

Mechanize を使用して Web サイトにログインし、検索を行っています。必要なリンク/情報を抽出した後、現在のページから次のページに再帰的に移動します。私が疑問に思っているのは、たとえばヘッダー情報に基づいて、「結果が見つかりません」または同様のページがあるかどうかを簡単に判断できる方法があるかどうかです。その場合、「404」または結果のないページのヘッダーをすばやく確認してから戻ることができます。

ドキュメントでそれを見つけることができませんでした。答えはノーです。答えが実際にノーであるかどうか、ここで誰かがもっと明確に言うことができますか?? 前もって感謝します。

(現在、リンクを .read() した後、「結果なし」に対して .find() を実行しています。)

ノート:

1) 「良い」ページのヘッダー情報 (結果付き):

2) 「悪い」(結果ページなし) からのヘッダー情報

0 投票する
1 に答える
43 参照

python - サービスへの認証のより良い方法

python-mechanizeでWebスクレイピングを学んでいます。現時点では、安全なサイトに入るために、手動でフォームにデータを入力して送信しています。このような:

内部では、これは「GET」または「POST」リクエストとしてサーバーに送信されており、入力した情報は URL にエンコードされていると想定しています。自分で情報をエンコードできるように、この URL の形式を調べる方法はありますか? 私はクロムを使用しています。フォームの送信リクエストの構造を何らかの方法で識別できるとよいでしょう。

0 投票する
1 に答える
282 参照

python - mechanize: 最初のフォームは機能しますが、次に「不明な GET フォーム エンコーディング タイプ 'utf-8'」

生成された Web ページからデータを記録するために、EUR-Lex Web サイトから 2 つのフォームに記入しようとしています。フォーム#2で立ち往生しています。これは簡単なはずだと感じ、少し調査しましたが、うまくいきませんでした。

ここまでは、正しいページのソースがファイルに保存されているため、すべてが機能しているようです。しかしその後...

ここですべてが停止します:

br.enctype第1形態と第2形態を選択する前に確認しました。私が得るものは次のとおりです。

  • 最初のフォームの後:application/x-www-form-urlencoded
  • 2 番目のフォームの後:utf-8

ここで何が起こっているのかわかりません。

0 投票する
1 に答える
887 参照

python - UTF-8 コード化されたテーブルを解析する Python Beautiful Soup (mechanize を使用)

UTF-8 でコード化された次のテーブルを解析しようとしています (これはその一部です)。

私のコードは次のとおりです。

そして、次のエラーが発生します。

0 投票する
1 に答える
209 参照

python - URL経由でファイルが利用可能かどうかをテストする最良の方法は?

さまざまな番組ホストからの BBC ポッドキャストのコレクション全体を DL するためのスクリプトを作成しています。私のスクリプトでは、BS4、Mechanize、および wget を使用しています。

URL の要求がサーバーから「404」の応答コードを生成するかどうかをテストする方法を知りたいです。以下の関数を書きました。

Browser()オブジェクトと URL 文字列を渡します。True応答が '404' であるか '200' であるかに応じて、またはを返しますFalse(実際には、Mechanize は、'200' 以外の場合は例外をスローし、例外処理を行います)。

main()私は基本的に、BS4 でスクレイピングした URL のリストから多数の URL を渡すこの関数をループしています。関数が戻っTrueたら、MP3 のダウンロードに進みますwget

しかし。私の問題は次のとおりです。

  • br.open(<URL>)URL はリモート サーバー上のポッドキャスト MP3 ファイルへの直接パスであり、URL が使用可能になるとハングすることに気付き ました。これは、Mechanize がサーバーから実際のデータをキャッシュ/ダウンロードしているためだと思われます。応答コードが「200」の場合に True を返したいだけなので、これは必要ありません。キャッシュ/DLせずに応答コードをテストするにはどうすればよいですか?

使用してみbr.open_novisit(url, data=None)ましたが、ハングはまだ続きます...

0 投票する
1 に答える
482 参照

beautifulsoup - mechanize から BeautifulSoup に結果を渡す

次のコードで mechanize と BeautifulSoup を混在させようとすると、エラーが発生します。

最初から br.submit() までのコードは mechanize で正常に動作し、 for ループは BeautifulSoup でも正常に動作します。しかし、br.submit() の結果を BeautifulSoup に渡す方法がわかりません。2 行:

明らかに間違っています。スープ = BeautifulSoup(content) のエラーが表示されます。

TypeError: 文字列またはバッファが必要です

誰でも助けることができますか?

0 投票する
1 に答える
179 参照

javascript - Python mechanizeのjavascript関数によるCookieの設定をどのようにシミュレートしますか?

ログインページに進むにはクリックして確認する必要があるという警告が最初のページにあるWebサイトにログインしてステップスルーするためにpython mechanizeを使用しようとしています。リンクをクリックすると、Cookie を設定する JavaScript 関数がアクティブになり、ログイン ページに移動します。

警告のhtmlは

Cookie を設定する JavaScript は次のとおりです。

概略的には、私の python コードは次のようになります。

警告を読んでクリックしたように見えるようにするには、Cookie をどのように設定すればよいですか?