2012-04-01 15 views
0

記事タイトルのWebサイトをスクラップしようとしていますが、ユーザーがページをスクロールしたときにJSONがより多くの記事を呼び出してページに挿入すると、PHPが動的に読み込まれたコンテンツをスクラブする

私が構築したWebスクレーパーは完全に動作しますが、最初の5つのデフォルトの記事しか見つかりませんでした。私が達成しようとしているのは5以上をロードすることです。PHPを使用してこれを達成する方法はありますか?私はなぜ、どのように動作するのですか?私はこれらのことを学びたいので、本当に感謝しています。

+0

カールあなたは誰があなたに答えを与えることができるだろうと思いますどのようにそれなしで、あなたのコードをポストする必要がありますか? –

+0

の代わりにページを廃棄して直接ソースにアクセスし、POST/GETに必要なパラメータをカールで注入する –

+0

Lawrencesの提案は、もっともらしいですが、問題のサイトを知ることは難しいと答えています。 また、サイトにrssフィード(サイトマップなど)があるかどうか確認しましたか? – Peter

答えて

3

クロムのネットワークモニタを使用して、ajaxリクエストのソースをログしてから、あなたのウェブスクレイパーにリクエストすることができます。これは実際には "make shift api"であり、サイトがjson形式を変更すると、 jsonをデコードするには、php関数json_decodeを使用します。

最初のデータを取得するために、あなたはのfile_get_contents

を使用する必要がありますが、これはあなたがしたい場合 をGETできるようになりますあなたが調べなければならないより多くの「高度な」オプション(POSTなど)

+0

次の結果を返すために、記事のウェブサイトで行われた呼び出しを模倣することをお勧めしますか? – Shadow

+0

それは確かに私が示唆していることですが、実際にはデータ契約がないので、やっかいなビジネスです。使用可能なRSSフィードまたはAPIを探す方が良いかもしれませんが、あなたのウェブスクレイパーの背後にあるアイデアではないと思います。 –

+0

はい、私はそれがより良く動作する方法を見ることができますが、現在のところ、この目的のために使用できるフィード/ apisはありません。したがって、json-decodeを使用すると、Webページで発生するscrolldown呼び出しやその部分を実行してからphpが結果をデコードする必要があります。 – Shadow

関連する問題