您好,登錄后才能下訂單哦!
Python如何爬取高清桌面壁紙,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
直接運行即可,效果圖:
代碼如下
導入工具
import requests,os from pyquery import PyQuery as pq import time
請求、解析網頁數據,保存數據
headers = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 ' '(KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36' } # 這里我使用了代理 你可以去掉這個代理IP 我是為了后面大規模爬取做準備的 proxies = { 'https': '218.75.69.50:39590' } # 請求網頁 獲取源碼 def start_request(url): r = requests.get(url, headers=headers, proxies=proxies) # 這個網站頁面使用的是GBK編碼 這里進行編碼轉換 r.encoding = 'GBK' html = r.text return html # 解析網頁 獲取圖片 def parse(text,i): doc = pq(text) # 鎖定頁面中的img標簽 images = doc('div.list ul li img').items() x = 1 for image in images: # 獲取每一張圖片的鏈接 img_url = image.attr('src') # 獲得每張圖片的二進制內容 img = requests.get(img_url, headers=headers, proxies=proxies).content # 定義要存儲圖片的路勁 # 創建目錄 dir_path = os.path.dirname(os.path.abspath(__file__)) + "\\image\\" imagspath = dir_path+'/imgs'+str(i) # 創建目錄 if not os.path.exists(imagspath): os.makedirs(imagspath) path = imagspath+"\\" + str(x) + ".jpg" # 將圖片寫入指定的目錄 寫入文件用"wb" with open(path, 'wb') as f: f.write(img) time.sleep(1) print("正在下載第{}頁{}張圖片".format(i,x)) x += 1 print("寫入完成") def main(): url = "http://www.netbian.com" text = start_request(url) parse(text,1) #爬取指定范圍頁面 for i in range(2,100): urlnum = url + "/index_"+str(i)+".htm" textnum = start_request(urlnum) parse(textnum,i) if __name__ == "__main__": main()
關于Python如何爬取高清桌面壁紙問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。