問題タブ [domcrawler]
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.
php - HTML ドキュメント内の要素の外側にあるすべての TEXT を取得する方法
ドキュメント内のすべてのテキストを取得するために Symfony DomCrawler を使用しています。
<body>
要素の外側にある内のすべてのテキストを収集しようとしています。
私は PHP Symfony を使用しており、XPath (推奨) または RegEx を使用できます。
php - ページヒットを生成する最も迅速で効率的な方法
データを更新するために、自分のサイト (cron によって実行される) のすべてのページをクロールしようとしています。約500ページあります。
私は2つのオプションを試しました。
- PHP シンプルな HTML DOM パーサー
- PHP get_headers
上記のいずれかを使用すると、各ページの読み込みに約 1.402 秒かかります。合計で約 570 秒かかります。
これを行うより効率的な方法はありますか?
php - symfony domクローラーを使用してhtmlテーブルを配列に解析する方法
HTMLテーブルがあり、そのテーブルから配列を作成したい
私の配列はこのように見える必要があります
以下のコードを試しましたが、必要な配列を取得できませんでした
php - 無名関数内での配列の更新が機能しない
次のように、Goutte(phpスクレーパー/ウェブクローラー)というパッケージを使用しようとしています:
このスクリプトを実行すると、$reviews
配列は常に空になります。しかし、print_r
無名関数内にあると、各ループで現在の要素のみが表示されるように見えます。たとえば、4 件のレビューがあった場合、次のようにしました。
次のように出力します。
あたかも無名関数内で配列が更新されないかのように。これを修正する方法はありますか?
php - Guzzle PHP を使用して Amazon にログインする方法
Guzzle を使用して Amazon にログインしようとしていますが、うまくいきません。これが私のコードです:
応答を受け取ると、$response->getBody()->getContents()
正常にログインしたときにリダイレクトされたページではなく、ログイン ページが返されます。
php - カールは文字列を返しています
curl を使用してサイト名PKNiCから値を取得しています
私のコードは次のとおりです。
このプログラムを実行すると、ページ全体が単一の文字列として印刷された文字列が返されます。
、、、が必要registrant name
です。どうすればそれらのものを手に入れることができますか? 私はそれがどのように機能するのか分かりません。それを表示するために、または何かを使用すると、単一の文字列が提供されるだけです。好みのレコードを取得するにはどうすればよいですか?expiry date
create date
contacts
var_dump
print_r
php - スペース文字が含まれている uri をテストすると、「現在のノード リストが空です」と表示される
スペース文字が含まれている uri をテストしようとすると失敗します。ウリは/contact/latestReport/Most recent
. 以下の各試行の結果は、
現在のノード リストは空です
トライアルには以下が含まれます:
$crawler = $client->request('GET', '/contact/latestReport/Most recent');
$crawler = $client->request('GET', '/contact/latestReport/Most%20recent');
$uri = urlencode('/contact/latestReport/Most recent'); $crawler = $client->request('GET', urldecode($uri));
編集:これが実際のテストコードです。以前は動作していたバージョンには のみが含まれてい/contact/latestReport
ました。追加する/Most recent
と、テストでのみエラーが発生しました。[クライアントは非常によく似たレポートを要求したため、現在/Most recent
と/FY to date
バージョンがあります。] 開発環境と本番環境/contact/latestReport/Most recent
では、期待どおりの結果が得られます。
php - XML と XPath を使用した Symfony DomCrawler
title
すべての要素を取得して配列に保存しようとしています。
XML:
PHP:
要素ノードはいくつかの条件を満たす必要があるため、呼び出すと出力さ$result->count()
れるはずですが2
(例 3 & 例 5)、0 が出力されます。
ありがとう。
編集:
解決策が見つかりました。XPath は次のようになります。
seo - www を指す 302 リダイレクトがあります。ただし、Googlebot は www 以外の URL をクロールし続けます
ロボットに domaine.com ではなく www.domaine.com を強制的にクロールさせることができるかどうか知っていますか? 私の場合、(HTML コードを表示するために) prerender.io でキャッシュされた URL を有効にした Web アプリがありますが、www.
そのため、ロボットが domaine.com をクロールしてもデータはありません。
Nginx ではリダイレクトは自動 (domaine.com> http://www.domaine.com ) ですが、結果はありません。
私のサイトマップでは、URL にはすべて www.
私のNginxリダイレクト:
アイデアはありますか?
ありがとうございました !