cari

Rumah  >  Soal Jawab  >  teks badan

python - beautifulSoup4 .select('.bnrName') tidak boleh mendapatkan teks teks

Latar Belakang:
Gunakan pilihan bs4 di bawah Python3 untuk mendapatkan nama kedai dalam maklumat kupon di bahagian atas halaman utama ZOZO. (IP Domestik nampaknya tidak dapat melihat maklumat kupon. Anda perlu menatalnya untuk melihatnya. Sebaik-baiknya gunakan IP negara pulau)

Soalan:
Saya mendapati bahawa saya tidak dapat mencari di mana nama kedainya ditulis. Saya tidak tahu bagaimana untuk mendapatkannya. terima kasih.

Kod saya adalah seperti berikut:

import requests, bs4

shopName = 'BEAUTY&YOUTH'
url = 'http://zozo.jp/'

def getZozoCoupon():
    res = requests.get(url, headers={"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36"})
    res.raise_for_status()
    soup = bs4.BeautifulSoup(res.text, 'html.parser')
    elems = soup.select('.bnrName')
    return elems[0].text.strip()

Tangkapan skrin di bawah ialah teks yang anda ingin dapatkan,

Saya mendapati tiada teks dalam kod sumber.

<p class="couponInfo">
    <p class="bnrName">说好的文字呢。。。</p>
    <p class="bnrText"></p>
</p>

Sila beritahu saya di mana teksnya dilaksanakan dan cara menggunakan bs4 pilih untuk memaparkannya.

伊谢尔伦伊谢尔伦2779 hari yang lalu801

membalas semua(4)saya akan balas

  • 大家讲道理

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

    Ada kemungkinan untuk menggunakan ajax untuk mendapatkannya daripada pelayan dan kemudian mengendalikan dom untuk menambahkannya secara dinamik Apabila js dilaksanakan dalam penyemak imbas, teks juga akan ditambah. Apabila anda merangkak dengan perangkak, anda tidak melaksanakan js yang berkaitan, jadi anda tidak menambah teks.

    Jika ini benar-benar berlaku, anda boleh menyemak rangkaian dalam f12 penyemak imbas, mengetahui URL permintaan http untuk mendapatkan teks, dan terus meminta URL ini untuk mendapatkan maklumat yang anda perlukan.

    balas
    0
  • 習慣沉默

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

    Saya membuka http://zozo.jp/ dalam penyemak imbas untuk melihat kod sumber dan tidak menemui bnrName yang anda cari

    balas
    0
  • 高洛峰

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

    Klik kanan pada penyemak imbas dan "lihat kod sumber halaman web" untuk melihat sama ada anda boleh menjumpai teks anda Jika anda tidak menemuinya, halaman web harus dimuatkan secara dinamik menggunakan js atau ajax jenis halaman dinamik, anda perlu Tiada cara lain, sama ada mensimulasikan permintaan sendiri secara manual, atau menggunakan selenium untuk menangkapnya

    balas
    0
  • 高洛峰

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

    sememangnya dijana oleh js, dan telah disimulasikan dan ditangkap menggunakan penyemak imbas tanpa kepala. Terima kasih semua!

    balas
    0
  • Batalbalas