cari

Rumah  >  Soal Jawab  >  teks badan

python - 我写的Xpath 为什么爬取不到内容

-- coding:utf-8 --

import lxml,requests,sys
from bs4 import BeautifulSoup
from lxml import etree

reload(sys)
sys.setdefaultencoding("utf-8")

def main():

url = 'https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=%E6%9A%B4%E8%B5%B0%E6%BC%AB%E7%94%BB&pn=0'

req = requests.get(url).content

# soup = BeautifulSoup(req.content,'lxml')
# imgs = soup.find_all('img')

content = etree.HTML(req)
paths = content.xpath('//*[@id="imgid"]/ul/li[1]/a/img/text()')
# for img in imgs:
#
#     print img

# for img in imgs :

print paths

main()

阿神阿神2786 hari yang lalu809

membalas semua(1)saya akan balas

  • 天蓬老师

    天蓬老师2017-04-18 10:32:15

    Apabila menulis perangkak, anda mesti menggunakan xpath untuk mengesahkan sama ada terdapat data dalam kod sumber halaman web Jika tidak, ini bermakna ia dimuatkan secara tidak segerak

    1 Masukkan pautan ini dalam pelayar untuk melihat kod sumber, ctrl+f untuk mencari lokasi imgid

    view-source:https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=%E6%9A%B4%E8%B5%B0%E6%BC%AB%E7%94%BB&pn=0

    2. Temui

    Senarai imej berikut tidak ditemui Kami boleh menentukan bahawa imej dimuatkan oleh js

    3

    F12 melihat rangkaian (segarkan semula untuk melihat), dan tidak menemui maklumat imej dimuatkan secara tidak segerak, jadi saya meneka bahawa data harus berada dalam html, tetapi ia diletakkan dalam js dan diproses semasa memuatkan imej

    Cara yang sama untuk melihat kod sumber seperti di atas, cari parameter objURL dan cari url sebenar

    //很多,集中在html下半部分
    http://img3.duitang.com/uploads/item/201608/06/20160806110540_MAcru.jpeg

    Penyelesaian

    Selebihnya terpulang kepada anda~ Cari cara untuk menghuraikan url sebenar di bahagian berikut!

    balas
    0
  • Batalbalas