7

次のような html で参照されているアプリによってコンテンツがレンダリングされているように見えるページをスクレイピングしたいと思います。

<div id="app" class="app-mobile-pusher"></div>

Requests-HTML python ライブラリの render() メソッドを次のように使用しています。

with HTMLSession() as session:
    p = session.post(login_url, data=payload)
    r = session.get(content_url)
    r.html.render()
    print(r.text)

このコードは、ページの HTML をエラーなしで返しますが、コンテンツ (HTML タグのみ) も含みません。ノート:

  • session.get にタイムアウト引数を追加して、ページにアクセスする前にページをレンダリングする時間を増やしたり、上記の構文の他のバリエーションを追加しようとしました。

  • また、この回答に基づいてヘッダーにユーザーエージェント情報を追加しようとしました(自動スクレイプの拒否を回避するため)

  • render() を最初に実行したときに、クロム ブラウザがダウンロードされました。

エラー メッセージが表示されないことに困惑しており、別のサイトでテストするためにこの要求のコンテキストを複製するのは困難です。

解決方法に関する具体的な提案、またはトラブルシューティングの方法に関するアイデアをいただければ幸いです。(Python 3.6、Mac OS)

4

1 に答える 1