Python抓取妹子圖,內含福利

目標抓取全站妹子封面圖片所有爬下來以圖片標題命名
  1. 分析網頁數據結構html


     
    妹子圖首頁
  2. 接下來找張圖片右擊點擊檢查python


     
    想要數據
  3. 拿到圖片連接直接用瀏覽器能夠訪問,可是程序下載有反爬蟲,圖片直接下載不了須要加請求頭部信息
     
     

    先上手代碼試試!
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()

  

哎!好像沒問題!編程

 

 
運行中
 
運行結果
同窗們,都把褲子給我穿上!好好學習!
 
 
教程已出,可是可能有不少網友不會使用
你們有任何問題能夠掃描二維碼關注公衆號,添加個人微信
我會第一時間爲你們解答

 

本公衆號只出精品,拒收劣質設計模式

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息