python - beautifulSoup4 .select('.bnrName') tidak boleh mendapatkan teks teks
伊谢尔伦
伊谢尔伦 2017-05-18 10:45:48
0
4
769

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.

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

membalas semua(4)
大家讲道理

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.

習慣沉默

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

小葫芦

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

小葫芦

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!