婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python爬蟲Scrapy框架:媒體管道原理學習分析

python爬蟲Scrapy框架:媒體管道原理學習分析

熱門標簽:企業(yè)微信地圖標注 萊蕪電信外呼系統(tǒng) 鶴壁手機自動外呼系統(tǒng)違法嗎 怎么辦理400客服電話 沈陽防封電銷電話卡 B52系統(tǒng)電梯外呼顯示E7 地圖標注多個 銀川電話機器人電話 高德地圖標注收入咋樣

一、媒體管道

1.1、媒體管道的特性

媒體管道實現(xiàn)了以下特性:

  • 避免重新下載最近下載的媒體
  • 指定存儲位置(文件系統(tǒng)目錄,Amazon S3 bucket,谷歌云存儲bucket)

圖像管道具有一些額外的圖像處理功能:

  • 將所有下載的圖片轉(zhuǎn)換為通用格式(JPG)和模式(RGB)
  • 生成縮略圖
  • 檢查圖像的寬度/高度,進行最小尺寸過濾

1.2、媒體管道的設置

ITEM_PIPELINES = {'scrapy.pipelines.images.ImagesPipeline': 120}      啟用
FILES_STORE = '/path/to/valid/dir'		   文件管道存放位置
IMAGES_STORE = '/path/to/valid/dir'		  圖片管道存放位置
FILES_URLS_FIELD = 'field_name_for_your_files_urls'    自定義文件url字段
FILES_RESULT_FIELD = 'field_name_for_your_processed_files'   自定義結(jié)果字段
IMAGES_URLS_FIELD = 'field_name_for_your_images_urls'         自定義圖片url字段
IMAGES_RESULT_FIELD = 'field_name_for_your_processed_images'      結(jié)果字段
FILES_EXPIRES = 90   文件過期時間   默認90天
IMAGES_EXPIRES = 90    圖片過期時間   默認90天
IMAGES_THUMBS = {'small': (50, 50), 'big':(270, 270)}     縮略圖尺寸
IMAGES_MIN_HEIGHT = 110     過濾最小高度
IMAGES_MIN_WIDTH = 110      過濾最小寬度
MEDIA_ALLOW_REDIRECTS = True    是否重定向

二、ImagesPipeline類簡介

#解析settings里的配置字段
def __init__(self, store_uri, download_func=None, settings=None)
#圖片下載
def image_downloaded(self, response, request, info)
#圖片獲取   圖片大小的過濾  #縮略圖的生成
def get_images(self, response, request, info)
#轉(zhuǎn)化圖片格式
def convert_image(self, image, size=None)
#生成媒體請求  可重寫
def get_media_requests(self, item, info)
	return [Request(x) for x in item.get(self.images_urls_field, [])] #得到圖片url  變成請求  發(fā)給引擎
#此方法獲取文件名  進行改寫
def item_completed(self, results, item, info)
#文件路徑 
def file_path(self, request, response=None, info=None)
#縮略圖的存儲路徑
def thumb_path(self, request, thumb_id, response=None, info=None):

三、小案例:使用圖片管道爬取百度圖片

(當然不使用圖片管道的話也是可以爬取百度圖片的,但這還需要我們?nèi)シ治鼍W(wǎng)頁的代碼,還是有點麻煩,使用圖片管道就可以省去這個步驟了)

3.1、spider文件

注意:由于需要添加所有的請求頭,所以我們要重寫start_requests函數(shù)

import re
import scrapy
from ..items import DbimgItem
class DbSpider(scrapy.Spider):
    name = 'db'
    # allowed_domains = ['xxx.com']
    start_urls = ['https://image.baidu.com/search/index?tn=baiduimageipn=rct=201326592cl=2lm=-1st=-1fm=indexfr=hs=0xthttps=111110sf=1fmq=pv=ic=0nc=1z=se=1showtab=0fb=0width=height=face=0istype=2ie=utf-8word=%E7%8B%97oq=%E7%8B%97rsp=-1']
    def start_requests(self):  #因為需要添加所有的請求頭,所以我們要重寫start_requests函數(shù)
        # url = 'https://image.baidu.com/search/index?tn=baiduimageipn=rct=201326592cl=2lm=-1st=-1fm=indexfr=hs=0xthttps=111110sf=1fmq=pv=ic=0nc=1z=se=1showtab=0fb=0width=height=face=0istype=2ie=utf-8word=%E7%8B%97oq=%E7%8B%97rsp=-1'
        headers = {
            "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
            "Accept-Encoding": "gzip, deflate, br",
            "Accept-Language": "zh-CN,zh;q=0.9",
            "Cache-Control": "max-age=0",
            "Connection": "keep-alive",
            "Cookie": "BIDUPSID=4B61D634D704A324E3C7E274BF11F280; PSTM=1624157516; BAIDUID=4B61D634D704A324C7EA5BA47BA5886E:FG=1; __yjs_duid=1_f7116f04cddf75093b9236654a2d70931624173362209; BAIDUID_BFESS=101022AEE931E08A9B9A3BA623709CFE:FG=1; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; BDRCVFR[dG2JNJb_ajR]=mk3SLVN4HKm; cleanHistoryStatus=0; H_PS_PSSID=34099_33969_34222_31660_34226_33848_34113_34073_33607_34107_34134_34118_26350_22159; delPer=0; PSINO=6; BA_HECTOR=24ak842ka421210koq1gdtj070r; BDRCVFR[X_XKQks0S63]=mk3SLVN4HKm; userFrom=www.baidu.com; firstShowTip=1; indexPageSugList=%5B%22%E7%8B%97%22%2C%22%E7%8C%AB%E5%92%AA%22%2C%22%E5%B0%8F%E9%80%8F%E6%98%8E%22%5D; ab_sr=1.0.1_OGYwMTZiMjg5ZTNiYmUxODIxOTgyYTllZGMyMzhjODE2ZWE5OGY4YmEyZWVjOGZhOWIxM2NlM2FhZTQxMmFjODY0OWZiNzQxMjVlMWIyODVlZWFiZjY2NTQyMTZhY2NjNTM5NDNmYTFmZjgxMTlkOGYxYTUzYTIzMzA0NDE3MGNmZDhkYTBkZmJiMmJhZmFkZDNmZTM1ZmI2MWZkNzYyYQ==",
            "Host": "image.baidu.com",
            "Referer": "https://image.baidu.com/",
            "sec-ch-ua": '" Not;A Brand";v="99", "Google Chrome";v="91", "Chromium";v="91"',
            "sec-ch-ua-mobile": "?0",
            "Sec-Fetch-Dest": "document",
            "Sec-Fetch-Mode": "navigate",
            "Sec-Fetch-Site": "same-origin",
            "Sec-Fetch-User": "?1",
            "Upgrade-Insecure-Requests": "1",
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 Safari/537.36"
        }
        for url in self.start_urls:
            yield scrapy.Request(url,headers=headers,callback=self.parse,dont_filter=True)
    def parse(self, response):
        img_urls = re.findall('"thumbURL":"(.*?)"', response.text)
        # print(img_urls)
        item = DbimgItem()
        item['image_urls'] = img_urls
        yield item

3.2、items文件

import scrapy
class DbimgItem(scrapy.Item):
    # define the fields for your item here like:
    # name = scrapy.Field()
    image_urls = scrapy.Field()

3.3、settings文件

ROBOTSTXT_OBEY = False
#打開我們寫的管道
ITEM_PIPELINES = {
   # 'dbimg.pipelines.DbimgPipeline': 300,
    'dbimg.pipelines.ImgPipe': 300,
}
#圖片存放位置
IMAGES_STORE = 'D:/python test/爬蟲/scrapy6/dbimg/imgs'

3.4、pipelines文件

import os
from itemadapter import ItemAdapter
from scrapy.pipelines.images import ImagesPipeline
import settings
"""
def item_completed(self, results, item, info):
    with suppress(KeyError):
        ItemAdapter(item)[self.images_result_field] = [x for ok, x in results if ok]
    return item
"""
class ImgPipe(ImagesPipeline):
    num=0
    #重寫此函數(shù)修改獲取的圖片的名字  不然圖片名稱就是一串數(shù)字字母
    def item_completed(self, results, item, info):
        images_path = [x['path'] for ok, x in results if ok]
        #print('results: ',results)   先查看下results的數(shù)據(jù)格式,然后才能獲取到我們需要的值
        for image_path in images_path:
            os.rename(settings.IMAGES_STORE + "/" + image_path, settings.IMAGES_STORE + "/" + str(self.num) + ".jpg")
            self.num += 1

結(jié)果:

以上就是python爬蟲Scrapy框架:媒體管道原理學習分析的詳細內(nèi)容,更多關(guān)于python爬蟲Scrapy框架的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • 關(guān)于python爬蟲應用urllib庫作用分析
  • python爬蟲Mitmproxy安裝使用學習筆記
  • Python爬蟲和反爬技術(shù)過程詳解
  • python爬蟲之Appium爬取手機App數(shù)據(jù)及模擬用戶手勢
  • 爬蟲Python驗證碼識別入門
  • Python爬蟲技術(shù)
  • Python爬蟲爬取商品失敗處理方法
  • Python獲取江蘇疫情實時數(shù)據(jù)及爬蟲分析
  • Python爬蟲之Scrapy環(huán)境搭建案例教程
  • Python爬蟲中urllib3與urllib的區(qū)別是什么
  • 教你如何利用python3爬蟲爬取漫畫島-非人哉漫畫
  • Python爬蟲分析匯總

標簽:銀川 葫蘆島 安慶 三亞 呼倫貝爾 湘西 呼倫貝爾 烏魯木齊

巨人網(wǎng)絡通訊聲明:本文標題《python爬蟲Scrapy框架:媒體管道原理學習分析》,本文關(guān)鍵詞  python,爬蟲,Scrapy,框架,媒體,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python爬蟲Scrapy框架:媒體管道原理學習分析》相關(guān)的同類信息!
  • 本頁收集關(guān)于python爬蟲Scrapy框架:媒體管道原理學習分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    精品国产网站在线观看| 亚洲男人都懂的| 综合电影一区二区三区 | 精品一二三四在线| 91蝌蚪porny| 久久久91精品国产一区二区精品 | 中文字幕va一区二区三区| 亚洲午夜日本在线观看| 丁香婷婷综合激情五月色| 日韩三级在线观看| 亚洲一区中文在线| 成人精品视频网站| 精品国产乱码久久久久久老虎| 一区二区三区四区中文字幕| 高清beeg欧美| 久久精品人人爽人人爽| 激情亚洲综合在线| 日韩欧美中文一区二区| 午夜精品一区二区三区电影天堂 | 夜夜嗨av一区二区三区中文字幕| 国产一区二区三区在线观看免费| 在线播放欧美女士性生活| 亚洲五月六月丁香激情| 色综合久久久久综合| 中文字幕一区视频| 成熟亚洲日本毛茸茸凸凹| 久久久久99精品一区| 久久成人麻豆午夜电影| 91精品综合久久久久久| 亚洲成av人片在www色猫咪| 欧美手机在线视频| 亚洲一区二区影院| 欧美日韩日本视频| 午夜影视日本亚洲欧洲精品| 欧美日韩午夜在线| 五月婷婷色综合| 欧美精品久久天天躁| 日本在线不卡一区| 日韩一区二区在线观看视频| 久久99久久精品| 精品久久五月天| 69堂成人精品免费视频| 天堂在线亚洲视频| 精品免费视频.| 成人美女在线观看| 亚洲激情在线播放| 欧美日韩专区在线| 久久99久久精品| 国产精品国产三级国产专播品爱网| 国产成人精品影视| 亚洲欧美日韩国产另类专区| 欧美亚洲国产怡红院影院| 首页亚洲欧美制服丝腿| ww亚洲ww在线观看国产| 成人免费毛片aaaaa**| 亚洲女女做受ⅹxx高潮| 欧美日韩极品在线观看一区| 免费久久精品视频| 中文在线一区二区| 欧美日韩在线播放三区四区| 久久不见久久见免费视频1| 久久综合久久综合亚洲| 色综合久久99| 免费成人在线观看视频| 国产色91在线| 欧美区一区二区三区| 高清成人在线观看| 日韩中文字幕亚洲一区二区va在线| 欧美一级xxx| 欧美国产日产图区| 在线观看视频一区| 国内精品伊人久久久久av一坑| 国产精品久久久爽爽爽麻豆色哟哟| 91国偷自产一区二区使用方法| 韩国欧美国产1区| 亚洲最大成人网4388xx| 国产日韩欧美激情| 3751色影院一区二区三区| 成人亚洲一区二区一| 日韩精品一级二级| 亚洲视频 欧洲视频| 久久奇米777| 欧美日韩国产成人在线91| 不卡的看片网站| 激情综合网最新| 午夜久久久影院| 亚洲图片欧美激情| 久久精品男人的天堂| 91精品国产欧美一区二区成人 | 亚洲精品国产视频| 国产欧美日韩在线视频| 91精品国产色综合久久不卡蜜臀 | 日日夜夜精品视频天天综合网| 国产清纯在线一区二区www| 欧美人伦禁忌dvd放荡欲情| 97精品超碰一区二区三区| 国产精品中文欧美| 久久精品国产澳门| 奇米综合一区二区三区精品视频| 一区二区三区电影在线播| 亚洲天堂免费看| 国产欧美1区2区3区| 久久噜噜亚洲综合| 26uuu亚洲综合色欧美| 日韩一区二区视频| 日韩一区二区三区视频在线观看| 欧美精品99久久久**| 欧美日韩视频在线观看一区二区三区| 色激情天天射综合网| 色综合色综合色综合 | 亚洲国产精品嫩草影院| 亚洲精品国产视频| 亚洲国产一区二区在线播放| 亚洲精品成人在线| 亚洲小少妇裸体bbw| 婷婷丁香激情综合| 青青草国产精品亚洲专区无| 日本中文字幕一区二区视频 | 成人免费三级在线| 91麻豆国产福利在线观看| 99热精品国产| 欧美日韩一区二区在线视频| 欧美日本一道本| 日韩亚洲国产中文字幕欧美| 精品国产污污免费网站入口 | 亚洲成年人影院| 亚洲va欧美va人人爽午夜 | 久久亚洲精品小早川怜子| 国产亚洲一二三区| 国产精品国产自产拍在线| 亚洲激情男女视频| 日韩一区欧美二区| 激情综合色丁香一区二区| 国产成人av电影免费在线观看| 成人爽a毛片一区二区免费| 色综合视频在线观看| 3751色影院一区二区三区| 久久久久国产成人精品亚洲午夜 | 欧美日韩国产123区| 久久久久久久网| 亚洲视频1区2区| 日韩成人免费在线| 丁香一区二区三区| 欧美日韩精品免费观看视频 | 日韩一区二区电影在线| 国产日产精品1区| 亚洲欧洲另类国产综合| 日韩精品久久久久久| 成人在线视频首页| 欧美人体做爰大胆视频| 日本一区二区成人| 视频一区在线视频| 99久久综合狠狠综合久久| 日韩午夜精品电影| 亚洲精品少妇30p| 韩国欧美国产1区| 欧美日精品一区视频| 国产欧美日本一区视频| 三级亚洲高清视频| av毛片久久久久**hd| 欧美大片一区二区三区| 一区二区三区四区在线| 国产精品一区久久久久| 欧美日韩一级二级三级| 亚洲视频免费观看| 成人三级伦理片| 精品播放一区二区| 五月激情综合色| 色综合天天综合网国产成人综合天| 日韩欧美自拍偷拍| 亚州成人在线电影| 91视频免费看| 国产网站一区二区| 韩国av一区二区三区四区| 欧美日韩视频在线第一区 | 欧美一区二区国产| 亚洲另类色综合网站| 国产精品一级在线| 精品国产91久久久久久久妲己 | 欧美日韩在线免费视频| 亚洲日本青草视频在线怡红院| 国产老肥熟一区二区三区| 在线成人高清不卡| 亚洲成av人片| 欧美性受极品xxxx喷水| 最新久久zyz资源站| 大尺度一区二区| 国产欧美精品一区aⅴ影院| 国产露脸91国语对白| 久久免费精品国产久精品久久久久| 欧美曰成人黄网| 日韩一区在线看| 99天天综合性| 亚洲综合在线视频| 欧美视频日韩视频在线观看| 亚洲精选一二三| 在线一区二区三区| 亚洲狠狠爱一区二区三区| 欧美日韩综合在线免费观看| 日韩中文字幕区一区有砖一区|