cari

Rumah  >  Soal Jawab  >  teks badan

网页爬虫 - 【如图】python爬取的html页面和浏览器显示源码的结果不同

高洛峰高洛峰2889 hari yang lalu778

membalas semua(4)saya akan balas

  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:33:41

    Selepas ujian sebenar, kesimpulannya ialah bs4 mengubah susunan atribut.

    1. Klik kanan halaman dalam penyemak imbas dan pilih:

    Elemen Pemeriksaan

    Lihat kod sumber halaman web

    2. Perbandingan dalam program python3:

    import re
    ptn_tr = re.compile(r'<tr[^>]+>')
    
    import requests as req
    rsp=req.get('http://www.pythonscraping.com/pages/page3.html')
    html = rsp.text
    print('requests:\t', ptn_tr.findall(html)[0])
    
    from urllib.request import urlopen
    rsp = urlopen("http://www.pythonscraping.com/pages/page3.html")
    html = rsp.read().decode()
    print('urlopen:\t', ptn_tr.findall(html)[0])
    
    from bs4 import BeautifulSoup
    html = str(BeautifulSoup(html,"lxml"))
    print('bs4Soup:\t', ptn_tr.findall(html)[0])
    

    Keputusan:

    requests:     <tr id="gift1" class="gift">
    urlopen:     <tr id="gift1" class="gift">
    bs4Soup:     <tr class="gift" id="gift1">

    balas
    0
  • 阿神

    阿神2017-04-18 09:33:41

    Tertib kelas dan id hanyalah berbeza.
    Apabila anda menggunakan Chrome dan Firefox untuk melihat kod sumber halaman web yang sama, susunannya juga berbeza.

    balas
    0
  • 高洛峰

    高洛峰2017-04-18 09:33:41

    Adalah disyorkan bahawa penanya menyiarkan tapak web atau pun kodnya sendiri supaya semua orang boleh membantu anda menyahpepijatnya. Ia adalah perkara biasa untuk menjadi berbeza. Jika kandungan yang dirangkak oleh perangkak anda disimpan sebagai halaman statik dan berbeza daripada yang anda lihat dengan penyemak imbas, maka mekanisme anti-perakak pihak lain mesti telah mengenalinya, jadi pelayan akan mengembalikan maklumat yang berbeza. . Terdapat banyak cara untuk mengenal pasti perangkak Jika anda masih mempunyai sebarang soalan, sila tanya

    balas
    0
  • 巴扎黑

    巴扎黑2017-04-18 09:33:41

    Poster mengesyorkan agar anda menyiarkan semua kod sumber, kerana tapak web boleh mengenal pasti sama ada anda mengendalikan penyemak imbas manusia atau perangkak.

    Melihat kod semasa, adalah disyorkan agar anda menambah maklumat pengepala! use-agent Baris kod itu!

    balas
    0
  • Batalbalas