問題タブ [goutte]
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.
mink - Mink - Microsoft が提供するページを取得できませんでした
私はこのコードを持っています
そして、応答ヘッダーの一部を持つページでこのコードを使用しようとすると
次に、このエラーが発生します
PHPが提供するサイトとMicrosoftが提供する(ASPと思われる)サイトに対してこのコードを繰り返しました。この問題があるのは ASP サイトだけです。
Microsoft が提供するページで動作しない理由はありますか?
php - Goutte が ASP SSL ページをロードしない
Symfony2 コンポーネントに基づく PHP Web クローラーであるGoutteを試しています。プレーンテキストと SSL 形式の両方で Google を正常に取得できました。しかし、読み込まれない ASP/SSL ページに遭遇しました。
これが私のコードです:
代わりに、この 1 つのサイトの上記のコードの最後にある echo は、次のようになります。
不正なリクエスト (無効なヘッダー名)
Firefox でサイトを正常に表示でき、wget --no-check-certificate
他のオプション (ヘッダーやユーザー エージェントの設定など) を使用せずに HTML を正常に取得できます。
Goutte でいくつかの HTTP ヘッダーを設定する必要があると思われます。私が試してみるべきアイデアはありますか?
php - Behat でドライバーを選択するには?
Goutte と Sahi の両方をインストールしました。デフォルトで使用しているドライバーを確認するにはどうすればよいですか?
また、あるドライバーから別のドライバーに変更するにはどうすればよいですか?
ありがとうございました
私の behat.yml ファイル:
php - Goutte: Javascript を介して入力されたフォームを送信する方法
結果をスクレイピングするために自動的に送信したいasp.netフォームがあります(ところで、私が行うことはすべて合法です)。
フォームのドロップダウン入力フィールドの一部は、ajax を介してその場で入力されます。1 つのフィールドは「地域」フィールドです。地域を選択すると、「都市」ドロップダウンが表示されます。Goutte Web クローラーを介して地域を入力した後で都市を入力しようとすると、無効な値のエラーが発生します。
これは Goutte を介して行うこともできますか、それとも別のものを使用する必要がありますか?
viewstate
ターゲット フォーム自体は、およびeventvalidation
フィールドを使用して asp.net で記述されています。
php - JSON を Goutte で解析することは可能ですか?
私は Web サイトのクロールに取り組んでおり、これまでのところ Goutte で HTML を解析するのに問題はありません。しかし、Web サイトから JSON を取得する必要がありますが、Cookie の管理のために、これを行いたくありません。うまくいきfile_get_contents()
ません。
純粋な cURL を使用できますが、この場合は Goutte を使用したいだけで、他のライブラリは使用したくありません。
Goutteを介してテキストのみを解析できる方法はありますか、それとも古き良き方法でこれを行う必要がありますか?
ありがとうございました。
html-entities - Behat を使用した Goutte: textarea 値としての xml 文字列は html エンティティで埋められます
テキストエリアを含むいくつかの入力要素を含むフォームを含むページがあります。これらの入力フィールドには、いくつかの値が入力されています。このページ全体を、エンティティの編集ページと考えてください。Textarea には、通常のブラウザ (firefox や chrome など) 内で適切に表示される XML 文字列が含まれており、次のようになります。
しかし、goutte mink ドライバーでテスト ケースを実行すると、ページが読み込まれ、textarea の値が次のように特殊文字でエンコードされます。
そして、送信ボタンを押すと、混乱がサーバーに送信され、最初の正しいxmlの代わりに保存されます。一切触れませんのでご了承ください。ページを読み込んで送信ボタンを押すだけで、すべてが台無しになります。これは痛風でのみ発生しますが、たとえば selenium2 では発生しません。
問題は、これらの html エンティティを goutte に自動的に解釈させ、エンコードされた混乱ではなく、正しいデータとして送信するにはどうすればよいですか?