拓展python爬蟲,男生都喜歡的爬蟲案例!
阿新 • • 發佈:2020-08-27
爬蟲爬取圖片的簡單例項
這裡以圖片之家為例
首先分析網頁
每一頁與每一頁之間只是list_176_後面的數字不同,所以我們可以根據不同的需求來進行翻頁
圖片的定位:
小編這裡使用的是xpath來進行的定位,比較簡單,適合新手
在谷歌瀏覽器中選中其src中的地址右鍵copy其xpath直接定位到該圖片的定位
分析完後就可以寫python程式碼了
import requests from lxml import etree p = 1 print("請輸入爬取的頁數:") num = int(input()) for i in range(num+1): if i != 0: url = f'https://www.tupianzj.com/meinv/xinggan/list_176_{i}.html' # 偽裝請求頭 header = { "user-agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36" } # 傳送請求 respons = requests.get(url, headers=header) # 檢視返回結果 content返回時時byte 需要手動轉碼 html = respons.content html = html.decode("gb2312") # print(html) # 呼叫lxml中的etree方法 txt = etree.HTML(html) src = txt.xpath('//*[@id="container"]/div/div/div[3]/div/ul/li/a/@href') # print(src) for k in src: # print(k[:-5]) p2 = 1 for j in range(1,11): # 拼接新的網址 page = 'https://www.tupianzj.com' + k[:-5] + f"_{j}.html" # print(page) # 重新發送請求 imgdata = requests.get(page,headers=header) # 檢視返回結果 並解碼 html1 = imgdata.content try: html1 = html1.decode('gb2312') txt1 = etree.HTML(html1) xsrc = txt1.xpath('//*[@id="bigpicimg"]/@src') except: pass if len(xsrc) == 0: continue print(xsrc[0]) imgdata2 = requests.get(xsrc[0],headers=header) # 圖片另存為 f = open('./img/'+str(p)+'.'+str(p2)+xsrc[0][-4:], 'wb') # 寫入 f.write(imgdata2.content) f.close() p2 += 1 p += 1
執行時需要在當前資料夾下建立一個img資料夾
這是執行結果:
原始碼獲取加群哦:1136192749