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

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

symfony - SymFony DomCrawler id*='text'

IDに「author-」が含まれるすべてのDIVをDomCrawlerに選択させようとしています

私は現在持っています

$list = $crawler->filter('div[id*="actor-"]')->each(function (Crawler $node, $i) { return $node->text(); }); var_dump($list);

しかし、それは結果を返しません。このようなセレクタはありますか?

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

php - 複数のURLスクレイピングに対してGoutteが間違ったURLを返す

https://github.com/FriendsOfPHP/Goutteを使用しています。while ループでページネーション リンクをクリックすると、間違った URL が表示され続けます。

オブジェクトのselectLinkは、最初の while ループの正しい URL を返します。2 番目のループがselectLinkに対して間違った値を返すようです。

これがコードです。

出力は次のとおりです。

ここに画像の説明を入力

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

php - Goutte/Domcrawler を使用して抽出された 2 つのデータのテキスト ノードを結合する方法

2 つの抽出されたテキストを 1 つの結果 (配列) に結合する方法を理解しようとしています。この場合、さまざまな書籍のタイトルとサブタイトル。

私が得ることができた最も近いものは次のとおりです。

私は次のように出力することができました:

そして結果は

もう 1 つの問題は、すべての本に字幕が付いているわけではないことです。そのため、2 つのタイトルを一緒にしないようにする必要があります。これら 2 つを 1 つの結果 (または配列) に結合するにはどうすればよいでしょうか?

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

php - Symfony の DomCrawler の each メソッドから抜け出す

特定の要素をフィルタリングしようとしていますが、テキストが見つかったら、その位置を記録してeachメソッドから抜け出したいと考えています。しかし、私はそれから抜け出すことができません。PHPエラーが発生しますCannot break/continue 2 levels

ここに私が取り組んでいる現在のコードがあります:

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

symfony - Symfony + DomCrawler - からデータ属性を抽出する方法

Symfony 2.8 と DomCrawler を使用して Web サイトを解析していdataますが、HTML エンティティからの属性の読み取りに問題があります。属性の特定の規則と同じくらい単純かもしれませんが、dataDomCrawler を介してデータ属性を取得する方法について説明している参考文献や例をウェブ上で見つけることができませんでした。

詳細は次のとおりです。

解析中の HTML でこの構造のインスタンスに遭遇しました (別の Web サイトから取得したため、この HTML を変更することはできません)。

このコードを使用して のブロックを検索しdiv、値を返しdata-srcます。

DomCrawler docs から、attr関数がdata-src属性値を返すことを期待していますが、null を返します。私の関数からの戻り値は、追加のテキストではなく数字だけの6つの要素の配列です。

よろしくお願いします。

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

php - ノード リストが空です: ボタンはグリフィコンです

で機能テストが$form = $crawler->selectButton('input[type=submit]')->form();失敗する

現在のノード リストは空です

ソースコード:

結果は次の場合と同じです。

  • selectButton('.btn')
  • filterXPath('span[@class="glyphicon glyphicon-search"]')
  • filter('navbar-form')
  • filter('.btn')
  • filter('input[type="submit"]')
  • filter('input[type=submit]')

正しいセレクターは何ですか?