Python抓取妹子圖
目標抓取全站妹子封面圖片全部爬下來以圖片標題命名
-
分析網頁資料結構
妹子圖首頁
-
接下來找張圖片右擊點選檢查
想要資料
- 拿到圖片連結直接用瀏覽器可以訪問,但是程式下載有 反爬蟲 ,圖片直接下載不了需要加 請求頭部資訊
image.png
import requests from lxml import etree # 設計模式 --》面向物件程式設計 class Spider(object): def __init__(self): # 反反爬蟲措施,加請求頭部資訊 self.headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36", "Referer": "https://www.mzitu.com/xinggan/" } def start_request(self): # 1. 獲取整體網頁的資料 requests for i in range(1, 204): print("==========正在抓取%s頁==========" % i) response = requests.get("https://www.mzitu.com/page/"+ str(i) + "/", headers=self.headers) html = etree.HTML(response.content.decode()) self.xpath_data(html) def xpath_data(self, html): # 2. 抽取想要的資料 標題 圖片 xpath src_list = html.xpath('//ul[@id="pins"]/li/a/img/@data-original') alt_list = html.xpath('//ul[@id="pins"]/li/a/img/@alt') for src, alt in zip(src_list, alt_list): file_name = alt + ".jpg" response = requests.get(src, headers=self.headers) print("正在抓取圖片:" + file_name) # 3. 儲存資料 jpg with open try: with open(file_name, "wb") as f: f.write(response.content) except: print("==========檔名有誤!==========") spider = Spider() spider.start_request()
哎!好像沒問題!

執行中

執行結果
同學們,都把褲子給我穿上!好好學習!

有什麼想要學習的技術在簡書私信老師,有時間就更。記得給老師點贊!