Webクローラーボットの一般的な「問題」です...一部のページには、含まれているソースから動的に追加されたコンテンツが含まれています。このコンテンツは、ページの読み込み時に読み込むか、トリガーすることができます (例のように、下にスクロールすることによって)。ターゲット ページがダウンロードされてスクレイピングされるとき、ほとんどの場合、DOM 構造には外側に含まれるデータの html 要素が含まれません。
私がお勧めするのは、このデータのソース パスを特定することです。これは、DOM のスクリプトを注意深くチェックすることで実行できます。必要なすべての欠落データを含む二次情報源として彼を呼び出します。
編集:
リンクした例では、簡単です:
- install firebug.
- scroll down the page to check the script that fires the request.
- now you can see the link and the vars that are used for dynamicly adding the content.
www.healthtap.com/#topics/Women%27s%20health:
動的応答リンク:
https://www.healthtap.com/topics/Women%27s%20health.json ? extended_categories=1&auth_token=false&per_page=8&page=7&per_page=8&auth_token=false&generate_token=true
ご覧のとおり、操作できるパラメーターがいくつかあります。
1/ topics/ + the page firs value name + .json?
2/ per page= num -> how much results to return
3/ generate_token=true -> its a security value but just change it to false and it work fine....
これで、このリンクで遊んで、必要なすべてのデータをロードし、クロールしたメイン ページとマージできます。
テスト済み!