検索

ホームページ  >  に質問  >  本文

Python - beautifulSoup4 .select('.bnrName') がテキスト text を取得できません

背景:
Python3 で bs4 の select を使用して、ZOZO ホームページの上部にあるクーポン情報の店舗名を取得します。 (国内IPではクーポン情報が見れないようです。スクロールしないと見れません。島国のIPを使うのがベストです)

質問:
店舗名がどこに書いてあるのかわかりません。取得方法がわかりません。フロントエンドのjsがわかりません。回答をお願いします。ありがとう。

私自身のコードは次のとおりです:

リーリー

次のスクリーンショットは、取得するテキストを示しています。

ソース コードにテキストが存在しないことがわかりました。

リーリー

彼のテキストが実装されている場所と、それを表示するための bs4 select の使用方法を教えてください。

伊谢尔伦伊谢尔伦2779日前800

全員に返信(4)返信します

  • 大家讲道理

    大家讲道理2017-05-18 10:47:48

    ajaxを使ってサーバーから取得し、domを操作して動的に追加することも可能で、ブラウザ上でjsを実行するとテキストも追加されます。クローラーでクロールしたときは該当するjsを実行しなかったため、テキストを追加しませんでした。

    これが本当に当てはまる場合は、ブラウザの f12 でネットワークを確認し、テキストを取得するための http リクエストの URL を見つけて、この URL を直接リクエストして必要な情報を取得できます。

    返事
    0
  • 習慣沉默

    習慣沉默2017-05-18 10:47:48

    ソースコードを見るためにブラウザで http://zozo.jp/ を開いたのですが、探している bnrName が見つかりませんでした

    返事
    0
  • 高洛峰

    高洛峰2017-05-18 10:47:48

    これをクロールしたい場合は、ブラウザを右クリックして「Web ページのソース コードを表示」してテキストが見つかるかどうかを確認します。見つからない場合は、Web ページが js または ajax を使用して動的に読み込まれる必要があります。動的ページのようなものなので、そうする必要があります。リクエストを自分で手動でシミュレートするか、Selenium を使用してリクエストをキャッチするか、他に方法はありません

    返事
    0
  • 高洛峰

    高洛峰2017-05-18 10:47:48

    確かにjsで生成されており、ヘッドレスブラウザを使用してキャプチャされています。皆さんありがとうございます。

    返事
    0
  • キャンセル返事