# 在平時的爬蟲中,如果遇到沒有局部刷新,沒有字體加密,右鍵檢查也能看到清晰的數據,但是按照已經制定好的解析規則進行解析時,會返回空數據,這是為什么呢,這時可以在網頁右鍵查看一下網頁源代碼,可以發現,在網頁上的源代碼中有些部分是正確的,有些標簽是不正確的,改了名字或者加了數字,或者不是你在網頁上檢查看到的標簽名,所以如果你按照網頁上的解析規則去解析, 是解析不到的,這時就要按照網頁源代碼的解析規則去解析了,這就是典型的網頁懶加載。 # 什么是網頁懶加載? # 網頁懶加載是前端為了提高網頁訪問速度,將頁面內沒有出現在可視區域內的圖片先不做加載,等到手動滑動鼠標滾動到可視區域后再加載。這樣對於網頁加載性能上會有很大的提升,懶加載的效果就可以提升用戶體驗。 import requests from pyquery import PyQuery as pq headers = { 'User-Agent':"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10", } url = 'http://sc.chinaz.com/tupian/fengjingtupian.html' r = requests.get(url=url,headers = headers) r.encoding = r.apparent_encoding demo = r.text soup = pq(demo) src = soup('.box.picblock.col3 img') for i in src: i = pq(i) i = i.attr('src2') print(i) print(len(src))
選取了站長之家作為目標站點
右鍵檢查看到的標簽
實際爬取下來的網頁源代碼
按照這個解析規則,一般就能正確的解析出來需要的內容了。