問題タブ [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.

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

mink - Mink - Microsoft が提供するページを取得できませんでした

私はこのコードを持っています

そして、応答ヘッダーの一部を持つページでこのコードを使用しようとすると

次に、このエラーが発生します

PHPが提供するサイトとMicrosoftが提供する(ASPと思われる)サイトに対してこのコードを繰り返しました。この問題があるのは ASP サイトだけです。

Microsoft が提供するページで動作しない理由はありますか?

0 投票する
2 に答える
966 参照

php - Goutte が ASP SSL ページをロードしない

Symfony2 コンポーネントに基づく PHP Web クローラーであるGoutteを試しています。プレーンテキストと SSL 形式の両方で Google を正常に取得できました。しかし、読み込まれない ASP/SSL ページに遭遇しました。

これが私のコードです:

代わりに、この 1 つのサイトの上記のコードの最後にある echo は、次のようになります。

不正なリクエスト (無効なヘッダー名)

Firefox でサイトを正常に表示でき、wget --no-check-certificate他のオプション (ヘッダーやユーザー エージェントの設定など) を使用せずに HTML を正常に取得できます。

Goutte でいくつかの HTTP ヘッダーを設定する必要があると思われます。私が試してみるべきアイデアはありますか?

0 投票する
2 に答える
2322 参照

php - Behat でドライバーを選択するには?

Goutte と Sahi の両方をインストールしました。デフォルトで使用しているドライバーを確認するにはどうすればよいですか?

また、あるドライバーから別のドライバーに変更するにはどうすればよいですか?

ありがとうございました

私の behat.yml ファイル:

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

php - Goutte: Javascript を介して入力されたフォームを送信する方法

結果をスクレイピングするために自動的に送信したいasp.netフォームがあります(ところで、私が行うことはすべて合法です)。

フォームのドロップダウン入力フィールドの一部は、ajax を介してその場で入力されます。1 つのフィールドは「地域」フィールドです。地域を選択すると、「都市」ドロップダウンが表示されます。Goutte Web クローラーを介して地域を入力した後で都市を入力しようとすると、無効な値のエラーが発生します。

これは Goutte を介して行うこともできますか、それとも別のものを使用する必要がありますか?

viewstateターゲット フォーム自体は、およびeventvalidationフィールドを使用して asp.net で記述されています。

0 投票する
4 に答える
6050 参照

php - JSON を Goutte で解析することは可能ですか?

私は Web サイトのクロールに取り組んでおり、これまでのところ Goutte で HTML を解析するのに問題はありません。しかし、Web サイトから JSON を取得する必要がありますが、Cookie の管理のために、これを行いたくありません。うまくいきfile_get_contents()ません。

純粋な cURL を使用できますが、この場合は Goutte を使用したいだけで、他のライブラリは使用したくありません。

Goutteを介してテキストのみを解析できる方法はありますか、それとも古き良き方法でこれを行う必要がありますか?

ありがとうございました。

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

html-entities - Behat を使用した Goutte: textarea 値としての xml 文字列は html エンティティで埋められます

テキストエリアを含むいくつかの入力要素を含むフォームを含むページがあります。これらの入力フィールドには、いくつかの値が入力されています。このページ全体を、エンティティの編集ページと考えてください。Textarea には、通常のブラウザ (firefox や chrome など) 内で適切に表示される XML 文字列が含まれており、次のようになります。

しかし、goutte mink ドライバーでテスト ケースを実行すると、ページが読み込まれ、textarea の値が次のように特殊文字でエンコードされます。

そして、送信ボタンを押すと、混乱がサーバーに送信され、最初の正しいxmlの代わりに保存されます。一切触れませんのでご了承ください。ページを読み込んで送信ボタンを押すだけで、すべてが台無しになります。これは痛風でのみ発生しますが、たとえば selenium2 では発生しません。

問題は、これらの html エンティティを goutte に自動的に解釈させ、エンコードされた混乱ではなく、正しいデータとして送信するにはどうすればよいですか?