1. 程式人生 > >用Python批量爬取妹紙圖片

用Python批量爬取妹紙圖片

通過Python編寫爬蟲,批量爬取妹紙圖片,本文的爬蟲實現爬取妹子圖網站(http://www.mzitu.com/zipai/)中妹子自拍欄目中所有妹子的圖片。

開啟自拍欄目地址http://www.mzitu.com/zipai/後,我們發現當前頁面預設展示的是最後一頁,一共297頁,那麼要想把所有的自拍頁面的圖都爬下來,首先要獲取總的頁面數,通過分析頁面原始碼(如下圖):
這裡寫圖片描述
,我們發現頁面總數是在class為page-numbers current的span中,這樣我們就可以通過正則表達匹配出來:

#匹配規則
num_pat="<span class='page-numbers current'>(.+?)</span>"

經測試我們發現頁面地址中#comments可以不要,由此我們得到自拍頁面的每一頁的url地址為:

#i為頁數,則第i頁的頁面地址為:
page_url="http://www.mzitu.com/zipai/comment-page-"+str(i)

3.最後我們需要獲取每一頁中所有的妹子圖地址,分析頁面原始碼:
這裡寫圖片描述
通過分析我們發現妹子圖片的地址都是在p標籤的img中,因此我們可以通過正則表達取出頁面地址:

#匹配規則
img_pat='<p><img src="(.+?)"'

4.獲取到圖片地址後,我們可以通過urllib.request.urlretrieve將圖片下載到本地,下面附上完整的程式碼。

完整程式碼

# -*- coding: utf-8 -*-

import urllib.request
import re

#開啟網頁,獲取網頁內容
def url_open(url):
    headers=("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0")
    opener=urllib.request.build_opener()
    opener.addheaders=[headers]
    urllib.request.install_opener(opener)
    data=urllib.request.urlopen(url).read().decode('utf-8'
,'ignore') return data #獲取自拍欄目總的頁面數 def get_num(url): data=url_open(url) #頁面原始碼中通過正則表達匹配出總的頁碼數 pat="<span class='page-numbers current'>(.+?)</span>" num=re.compile(pat).findall(data)[0] return num if __name__=='__main__': try: #爬取的起始頁面地址 url='http://www.mzitu.com/zipai/' num=get_num(url) for i in range(1,int(num)+1): #自拍欄目每一頁頁面的地址 page_url='http://www.mzitu.com/zipai/comment-page-'+str(i) #自拍欄目每一頁中,通過正則表達匹配出圖片地址 img_pat='<p><img src="(.+?)"' data=url_open(page_url) img_list=re.compile(img_pat).findall(data) #依次遍歷出每一頁獲取到的圖片地址,並將圖片下載到本地 for j in range(len(img_list)): img_url=img_list[j] img="F:/test/meizhi/meizi_"+str(i)+str(j)+".jpg" print("正在下載第"+str(i)+"頁,第"+str(j)+"個圖片") urllib.request.urlretrieve(img_url,img) print("第"+str(i)+str(j)+"個圖片下載完成") #urlcleanup()清理使用urlretrieve產生的快取 urllib.request.urlcleanup() except Exception as e: print(e)

爬取結果:
這裡寫圖片描述

這裡寫圖片描述

相關推薦

Python批量圖片

通過Python編寫爬蟲,批量爬取妹紙圖片,本文的爬蟲實現爬取妹子圖網站(http://www.mzitu.com/zipai/)中妹子自拍欄目中所有妹子的圖片。 開啟自拍欄目地址http://www.mzitu.com/zipai/後,我們發現當前頁面預

最新 Python 批量網上美眉圖片(其實其他的圖片也可以啦!)

標題 最新 用Python 批量爬取網上美眉圖片 故事是這樣的:七月份給室友說,我要開始學習Python了。室友一臉懵,並問我Python是啥?確實對於我這個小城市來說Python之風還沒有吹到我們這裡來,以至於在我們大學都沒有開設這門課!很是尷尬。要不是在網上聽說Python很牛我

手把手教你圖片

序:之前為了演示定向爬取的demo.寫了個簡單的爬取妹紙圖片的小程式(之前的程式碼下載不了(從明文的圖片地址變成動態載入))。為了整理下,貼出來跟大家分享下。****************我們略去了動態獲取資料及驗證碼的。百度搜出來妹子圖煎蛋網靠前,就用它了。受制於爬蟲與反

python爬蟲網頁桌布圖片(彼岸桌面網唯美圖片

今天想給我的電腦裡面多加點桌布,但是嫌棄一個個儲存太慢,於是想著寫個爬蟲直接批量爬取,因為爬蟲只是很久之前學過一些,很多基礎語句都不記得了,於是直接在網上找了個有基礎操作語句的爬蟲程式碼,在這上面進行修改以適應我的要求和爬取的網頁需求 注意:這次爬取的

利用Python批量XKCD動漫圖片,並批量儲存

import requests, os, bs4 url = 'https://xkcd.com' os.makedirs('xkcd',exist_ok = True) while not url.endswith('#'): # download the page

Python批量堆糖網圖片

import urllib.parse import requests   #第三方請求庫 import json       import jsonpath  #處理json檔案的的提取庫 from bs4 import BeautifulSoup import os im

接口今日頭條圖片

b+ req ace nco ext odin api data utf #encoding:utf8import requestsimport jsonimport redemo = requests.get(‘http://www.toutiao.com/api/pc/

Python爬蟲廣州大學教務系統的成績(內網訪問)

enc 用途 css選擇器 狀態 csv文件 表格 area 加密 重要 用Python爬蟲爬取廣州大學教務系統的成績(內網訪問) 在進行爬取前,首先要了解: 1、什麽是CSS選擇器? 每一條css樣式定義由兩部分組成,形式如下: [code] 選擇器{樣式} [/code

Python爬蟲豆瓣電影、讀書Top250並排序

更新:已更新豆瓣電影Top250的指令碼及網站 概述 經常用豆瓣讀書的童鞋應該知道,豆瓣Top250用的是綜合排序,除使用者評分之外還考慮了很多比如是否暢銷、點選量等等,這也就導致了一些近年來評分不高的暢銷書在這個排行榜上高高在上遠比一些經典名著排名還高,於是在這裡打算重新給To

python+scrapy鬥魚圖片

建立scrapy的專案請參考:https://blog.csdn.net/qq_35723619/article/details/83614670 items的實現: DouyumeinvSpider建立: 這次我們爬去的是json資料包:我們可以通過network監控:

python+selenium動漫圖片

#在風之動漫網上下載海賊王,輸入需要下載的章節,將漫畫下載的本地#實現思路:# 1 海賊王的漫畫目錄連結是:https://www.fzdm.com/manhua/02/# 2 第X話的漫畫。連線是https://www.fzdm.com/manhua/02/X/,例如,924話連結是https://www.

python中國天氣網北京,上海,成都8-15天的天氣

2 爬取北京,上海,成都的天氣            from bs4 import BeautifulSoup import random import requests import socket impo

python爬蟲和登陸github

一 利用API簡單爬取 利用GitHub提供的API爬取前十個star數量最多的Python庫 GitHub提供了很多專門為爬蟲準備的API介面,通過介面可以爬取到便捷,易處理的資訊。(這是GitHub官網的各種api介紹)     使用到的庫 import re

使用python爬蟲——淘寶圖片和知乎內容

本文主要內容: 目標:使用python爬取淘寶圖片;使用python的一個開源框架pyspider(非常好用,一個國人寫的)爬取知乎上的每個問題,及這個問題下的所有評論 最簡單的爬蟲——如下python程式碼 爬取淘寶上模特圖片 爬

Python批量小說

利用BeautifulSoup批量爬取筆趣閣小說。 from bs4 import BeautifulSoup import urllib.request import re import os import threading import time # 通過

Python實現貼吧圖片

導讀:       最近周邊朋友學python的越來越多,毫無意外的是,大家都選擇了爬蟲入門。這不難理解。Python有豐富的庫使用,使得爬蟲的實現容易很多,學習之後,回報明顯,容易獲得成就感。總結起來就是:讓人有繼續學下去的慾望。我偏巧例外,先走了Python web。雖然

python爬蟲百度圖片

爬蟲爬取百度圖片 因公司業務需要,而且公司人手不足,我這個測試工程師需要臨時客串一下其他職位,所以,由我來爬取百度圖片。 說明 1、最近稍微有點兒忙,沒顧得上整理。而且程式碼量比較少,所以註釋比較少。 2、如果需要直接使用我的程式碼,請將相應路徑檔名稱更改。具體

python爬蟲好看的圖片

遇到好看的圖片你還在一張張用滑鼠點選儲存?作為一個IT從業者那就out了。。。必須高大上起來 今天給大家介紹如何用爬蟲爬取好看的圖片,話不多說,開始。。。。。 首先小夥伴們需要確保自己已經安裝了python和pip,並且已經配置好了環境變數,接下來需要安裝今天所用到的第

Python Scrapy某電影網站並存儲入mysql

爬取目標:javlib,使用框架Scrapy 首先使用在命令列裡scrapy startproject projectname和scrapy genspider spidername指令建立爬蟲。 首先定義items.pyimport scrapy class Av

python到的圖片儲存到本地

把圖片儲存到本地的第一種方法 :thisimgurl = "http:"+thisimg # 為網址新增上http協議 thisimgurl = thisimgurl.replace("\\","") 把轉義字元替換 # print(thisimgurl) #