問題タブ [simple-html-dom]

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 投票する
2 に答える
279 参照

php - いくつかの URL で単純な html dom が奇妙な結果を返す

単純な HTML DOM を使用していますが、一部のサイトで使用すると奇妙な結果が得られます。

これは、このリンクから生成される HTML 出力です。

ソースを確認しましたが、めちゃくちゃです。

また、このサイトで使用しようとするとハングします。また、HTML がめちゃくちゃです。

何か案は?

編集:コードブロックが追加されました:

以下の$str変数は、CURL リクエスト内の私のコードで以前に定義されています。

私はCURLリクエストを使用しています

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

php - 単純なHTMLDOMパーサーが更新されない

自分のテンプレートシステムに単純なHTMLDOMパーサーを使用していますが、問題が見つかりました。

これが私のマークアップです:

div.navigationを次のような独自のコンテンツに置き換えています。

うまく機能します-エコーできますが、問題は-エコーする前に、パーサーでそのリンクにアクセス/操作したいのですが、パーサーはそれを見つけられません。

nullを返します:(

アウターテキストを変更した後、パーサーを更新/更新する必要があるようです-可能であれば何かアイデアはありますか?

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

php - htmlDOMは最大の画像のみをスクレイプします

ページを見て、ユーザーが見ることができるようにすべての画像を抽出するブックマークレットがあります。

さて、ほとんどの場合、ユーザーは特定の商品が掲載されているページをクリックします。おそらくebayやamazonなどです。理想的には、すべてのロゴやボタンなどではなく、商品の実際の画像を表示したいのですが、どうすればよいでしょうか。

私は彼らがそれらをタグで包んでいないことを理解しているので、それを行う別の方法はありますか?

たぶんサイズで?画像のサイズ(ピクセル単位)および/またはファイルサイズ?(これはとにかく指標になりますか?それは少し仮定です)

上記のコードを使用する場合、私が何を意味するかを理解できるように2つの例(obvはsimple_html_dom.phpを取得する必要があります)

Amazonの例 eBayの例

アップデート

アマゾンは実際に私が見つけたのと同じようなことをします-あなたが同じことを書いているすべての開発者に依存しているので、それは決して完璧ではありません、起こることはありません!これは私が必要とする機能に最も近いものです。最大の画像を削るだけでなく、アイテムに関連する画像だけを削るように見えます。

アマゾンウィッシュリストボタン

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

php - html dom parse-ファイルタイプのみを検索できますか?

ページのコンテンツを解析している間、画像を一覧表示したいのですが、たとえばpngだけで、pngは必要ない場合があるため、ファイル拡張子で画像を検索したいと思います。

srcタグ内からすべての画像を一覧表示するためにこれを実行できることはわかっていますが、上記のように画像だけが必要です。

オンラインドキュメントを読んだことがありますが、それをどのように/実行できるかについての言及が見つかりませんか?

アップデート

これは私が現在使用しているコードです:

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

php - なぜこの foreach が失敗するのですか?

私が使用しているスクリプトは、HTMLページを「取得」して解析し、その中の.jpg画像のみを表示していますが、いくつかの変更を加える必要があり、変更すると失敗します...

これは機能します:

ただし、いくつかの問題があります...特定のサイズを超える画像のみを表示したいだけでなく、一部のサイトではimgタグに完全なURLが表示されないため、それも回避する必要があります...だから私はやった続く:

これは機能しますが、最初の画像しか返されません。

以下のリンクの例には 5 つの画像があります。最初のコードでは表示されますが、src には先頭のドメインがないため表示されません。

上記のリンク例

これを行うより良い方法はありますか?そして、ループが失敗するのはなぜですか?

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

php - どうすればこれをスピードアップできますか?

私はかなり基本的なスクレイピングだと思うスクリプトを持っています、それをあなたが望むものと呼んでください、しかしそれは平均して少なくとも6秒かかります...それをスピードアップすることは可能ですか?$ date変数は、コードのタイミングを計るためにのみ存在し、所要時間に重要なものを追加することはありません。2つのタイミングマーカーを設定しましたが、それぞれの間隔は約3秒です。テスト用の以下のURLの例

URLの例

アップデート

これは、タイミングマーカーが示す実際の内容です。

タイミングの開始01/24/201212:31:50am

geturlの後2012年1月24日12:31:50am

file_get_urlの後2012年1月24日12:31:53am

タイミングの終わり01/24/201212:31:57am

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

php - simple-html-dom-parserを使用して$elementから単一のアイテムを返します

simple-html-dom-parserは初めてで、質問があります。

$element配列であるとすると、配列から特定のアイテム(この場合は画像)を返すにはどうすればよいですか。私は試みた$element[1]$element->childNodes ([1])役に立たなかった。

Simple-html-dom-parser api

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

php - phpを使用したWordpress(および他の場所)でのDOM操作

私はDOM操作の世界にまったく慣れていないので、一般的なエラーを回避するために、有利なスタートを切りたいと思います。

私はphpを使用してワードプレスによって生成されたコンテンツを操作するための最も効率的な方法を探しています。現在、私はSimple HTML Domを使用していますが、これは問題なく機能しているようです。しかし、最近DOMDocumentと他のいくつかを見つけました。誰かがどちらがより速く、より良く、または少なくともマークアップが本当に悪い場合に生成されるエラーが少ないかをクリアすると非常に役立ちます。

また、誰かがこの構文を説明することもできます($htmlの代わりにthis@ $ html)

どうもありがとうございます

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

php - simple_html_dom 変数を配列に入れる

simple_html_dom を使用して Web サイトから情報を抽出しようとしています。

現在私は使用しています:

これはうまくいきます。ただし、foreach ループの外で各変数をエコーできるようにする必要があります。上記のコードを使用してこれを行うと、最終結果のみが表示されます。つまり、抽出しようとしている 10 個の製品のうち、10 番目のみが表示されます。

配列を使用して各 foreach ループからのすべての結果を格納し、ループ全体が終了したらそれらをエコーアウトする方法はありますか?

このようなもの:

この質問がわかりにくかったら申し訳ありません。私は PHP、特に配列についてよく理解していません。

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

php - Web ページから特定の div のコンテンツを抽出するにはどうすればよいですか?

Webページから特定のdivのコンテンツをロードしたいのですが、class='box'これにはSimple HTML DOMを使用しました。の明確なパターンを書くことはできませんがpreg_match、ここに私のphpコードがあります:

正しいパターンを書くのを手伝ってくださいpreg_match