整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          游戲論|像素藝術的美學①

          游戲論|像素藝術的美學①

          Boy『Rio』(2011年)

          第1章 像素藝術是什么

          電子游戲與像素藝術

          “像素藝術”(pixel art)是一種視覺表現形式。日語中通常稱為“ドット絵”(點陣圖)(注釋1)。

          受技術所限,早期電子游戲(注釋2)在畫面表達上基本上以像素藝術為主(注釋3)。可以說從70年代雅達利(Atari)推出街機游戲開始,到90年代中期家用游戲機出現多邊形畫面(3DCG)(注釋4)期間,整個電子游戲領域都是被像素藝術所統治。而這也正是電子游戲的表現形式日趨成熟,成為一種大眾文化的時期。因此,像素藝術被認為是與游戲文化密切相關的表現形式。在游戲相關書籍的封面裝幀以及游戲相關活動的海報上,像素藝術風格的圖形設計屢見不鮮(注釋5)。

          當然,21世紀后采用像素藝術的游戲就不再是主流了。因此,除了帶有“與游戲相關”的意味,像素藝術還具有“懷舊”的含義。也就是說,它暗含了一種對逝去的“黃金時代”的向往情懷。

          但另一方面,復古思潮中也常常會誕生新的表現形式。就像“芯片音樂”(chiptune)這種新的音樂類型起源于過去的奏鳴矩形波的電子游戲音樂(pico pico)一樣(注釋6),在過去的十多年里,也形成了一種被稱為“像素藝術新潮流”的趨勢。而在這一藝術領域大放異彩的是獨立游戲和插畫。藝術家們在游戲和插畫的世界不斷挖掘像素藝術這種表現形式的可能性。

          像素藝術的文化性

          盡管像素藝術與游戲息息相關,但它已經不再局限于游戲文化的內部。現如今,像素藝術欣賞的方式也變得越來越多元化——有的鐘情于它自帶的懷舊氣息,有的則青睞新潮的圖形風格,更有甚者只是純粹覺得它可愛——可以說繪制和欣賞像素藝術本身就已成了一種文化形式。

          比如2018年發售的幾本像素藝術畫冊。《FF DOT. -The Pixel Art of FINAL FANTASY-》(史克威爾?艾尼克斯)主要介紹了從紅白機到超級任天堂時代的《最終幻想》(ファイナルファンタジー)系列中使用的像素藝術,尤其是被譽為“點陣圖大師”的澀谷員子的作品。另一本《像素百景:現代像素藝術世界》(『ピクセル百景 現代ピクセルアートの世界』)(畫刊社,2019)則匯集了國內外“最前沿”像素藝術家的作品,是用來了解近年來像素藝術發展趨勢的不二之選。

          出自《FF DOT. -The Pixel Art of FINAL FANTASY-》(史克威爾?艾尼克斯,2018)

          出自《像素百景:現代像素藝術世界》(畫刊社,2019)。hermippe《城》

          此外,日本也會定期舉辦像素藝術展覽活動。比如Pixel Art Park是從2015年開始的像素藝術限定展銷活動,并且其規模也在逐年擴大。另外,還有從2017年開始每年舉辦一次的澀谷像素藝術,這是在澀谷各地進行像素藝術作品展覽的地區性推廣活動。展覽前還將舉辦像素藝術大賽,獲獎作品則會在全市展出。

          這樣的活動在日本不勝枚舉,也有專門從事像素藝術創作的圖形藝術家。比如自2000年前后開始成立的、活躍于德國和加拿大的藝術家團體eBoy,他們最著名的作品就是以等距像素畫(注釋7)的形式還原多個城市的“Pixorama”系列。此外,像素藝術還經常被應用于經典電子游戲的周邊商品,這一點不僅是現在,過去也同樣盛行。

          上述事例都表明像素藝術已經演變成了一種獨立的圖像形式,而不再只是一種依附于游戲的圖形表現形式(注釋8)。

          Hobonichi手帳 2018“這里是夢幻鄉”(ここはマジカントのくに。)。《MOTHER2》同款圖案

          如何定義像素藝術?

          從上述事例可以看出,“像素藝術”包含多種類型。不過,具體有哪些類型這里暫且先不談(注釋9)。我想先談談像素藝術是什么,也就是像素藝術的定義。

          也許有人會說“通過上面的事例,我已經知道是怎么回事了”或者“定義就算了,我想知道它的魅力和歷史”——但我作為一名哲學家(我的專業是美學哲學這一領域),必須得先弄清楚其定義。凡事都講究先問“~是什么”——有時僅此而已——這是哲學家由來已久的通病,同時也是我們存在的理由(注釋10)。

          像素藝術是什么?換句話說,所有被稱為“像素藝術”的形式都有哪些共同的、并且其他非像素藝術形式沒有的獨特特征?據我了解,對這一問題目前尚沒有定論,但一些專業人士曾發表過基本性的見解。插畫家州倉正和曾在推特(Twitter)上發表如下觀點:

          點陣圖是指若更改任意像素,其所表現的信息就會發生變化的圖像。例如,如果將一只眼睛上的兩個垂直點改為兩個水平點,它就會變成一張閉著眼睛的圖片。(注釋11)

          正如美術批評家gnck所說(注釋12),這個說明精準地抓住了像素藝術的其中一個特點。當然,不管是不是像素藝術,所有光柵圖像(注釋13)都是由像素集合構成的。但是,并不是所有的光柵圖像都會自動變成像素畫。像素藝術的獨特之處在于每一個像素都很重要。正如州倉所說,像素的“重要性”就在于,哪怕稍微改變像素,都會使畫面內容發生改變。相反,在像素藝術以外的光柵圖像(例如以JPEG格式保存的照片)中,單個像素并不具有這樣的“重要性”。我十分贊同這一見解。

          另外,今井晉在《像素百景 現代像素藝術的世界》一書中的論述則提供了另一個值得參考的視角。

          所謂像素表現,是指通過像素的集合表現圖像的光柵化過程中,每個像素或像素的集合被設計為可用肉眼識別。(注釋14)

          今井的重點在于“可以用肉眼識別像素”。毫無疑問,像素藝術一般用眼睛一看就知道是像素藝術(或者至少放大一點可以辨認出來)。當然,這是因為我們可以通過視覺識別出像素藝術的單位(注釋15)。但是,在像素藝術以外的光柵圖像中,肉眼往往無法識別像素。一般來說除非分辨率非常低,否則很難用眼睛分辨數碼照片圖像中的像素。

          以上兩點或許已經足夠我們大致了解像素藝術的一般特征。不過,作為一名哲學家,我想把這些觀點與現有的系統性理論聯系起來,提出一個在理論上更加完善的定義。

          圖像的一般特征

          像素藝術屬于繪畫的一種。也就是說,是要描繪些什么的。元胞自動機的圖案(注釋16)也是由像素的集合構成,但卻不能稱為像素藝術,因為它只是一種抽象化的圖案,而不是某物的圖畫(注釋17)。所以,在探討像素藝術的特征時,首先要明確作為其上位概念的圖像的一般特征。

          元胞自動機的模型、康威的生命游戲“滑翔機槍” 圖片出處:https://commons.wikimedia.org/wiki/File:Gospers_glider_gun.gif

          圖畫是什么?更準確地說,圖像(picture)(注釋18)是什么?現代分析美學的一個分支——描寫哲學曾探討過這個問題。對于圖像要怎么理解,不同研究領域有不同的闡釋(注釋19),這里我們就參考“結構主義”的觀點——將圖像視為一種符號的說法(注釋20)。

          結構主義認為文字、樂譜、圖表、地圖、象形圖等都屬于符號,因為它們都可以用來指稱和代表其他事物。圖片和照片等圖像也是符號。那么,圖像和非圖像符號之間有什么區別呢?結構主義的代表人物約翰·庫爾維奇(John Kulvicki)認為圖像區別于其他符號的特征有以下4點(注釋21)。

          ①圖像符號的微小變化會導致圖像所表達的內容發生變化(注釋22)。例如,字母形狀的細微變化并不會使“A”這個字母不再是“A”,但在圖畫和照片中,顏色或形狀的細微變化卻會使其描寫的內容變得不同。

          ②能夠對圖像符號的同一性造成影響或對其表達的內容有決定性作用的要素相對較多。例如,對于表示各月平均氣溫的折線圖來說,唯一重要的要素就是折線的形狀,但是對于山脊圖而言,重要的不僅是折線的形狀,還包括折線的顏色、粗細以及畫面的涂抹方式等眾多要素。

          ③每個圖像符號所表達的內容都不相同。也就是說,很少有同義詞那樣的冗余性。對比下圖標就能理解這個特征了。比如操作系統(OS)桌面上的回收站圖標,如果從圖畫的角度來看,每一幅都包含豐富的內容(代表了各種形狀和顏色的垃圾箱),但如果僅從表示功能的圖形用戶界面(GUI)的角度來看的話,不管該圖標是什么顏色和形狀,都只有“刪除的文件”這一個含義(注釋23)。表示廁所所在位置的圖形標志也是如此。這是因為圖標或象形圖通常表示的是具有特定含義的內容,相對于其外在符號形式的多樣,內容則較為單一和固定。而一般的圖畫和照片則并不如此。

          ④圖像符號與其所指稱的事物之間具有相似性。簡而言之,就是符號與其表示的內容相似(注釋24)。例如,用藍色顏料畫一個圓形,通常代表一個藍色的圓形物體。但用藍色筆書寫圓形文字,則并不代表藍色或圓形事物。

          庫爾維奇將①的特征稱為“句法敏感性(syntactic sensitivity)”。很明顯,這個特征幾乎與州倉指出的像素藝術的特征相同。這樣來看,州倉闡述的像素藝術的特征實際上是圖像的一般特征之一。當然,這不是州倉想表達的。州倉的推特主旨正確來說應該是“像素藝術和非像素藝術的光柵圖像相比較的時候,像素藝術在句法上更敏感”。

          另外,還需要注意④的特征。這個特征被稱為“透明性(transparency)”。雖然州倉和今井都沒有提到,但這個特征基本上也被像素藝術繼承了。因為如果給像素藝術的某個像素添加顏色,這個顏色同時也會出現在所描繪物體的相應位置上。這一點看似理所當然,但卻是作為一種圖像的像素藝術的重要特征。screen字體、bitmap字體等所謂的像素字體則并不具備這個特征。因為像素字體是一種文本,而不是圖像的一種。

          像素藝術的定義

          上一節介紹了圖像的一般特征。那么,像素藝術區別于一般圖像的特征是什么呢?結合今井和州倉的觀點,像素藝術的特征基本上可以概括為“由像素的集合構成,并且可用肉眼分辨出像素的單位,且具有很高的句法敏感性”。不過還是有幾個細節需要補充。

          首先,這里所說的“像素”并不一定與構成光柵圖像的像素一致。正如今井所暗示的(參見注釋15),作為光柵圖像單位的像素和作為像素藝術單位的像素需要在概念上進行區分。前者是在數字數據上提供顏色信息的單位(注釋25)。后者則是觀者將圖片感知為像素藝術這一獨特符號的單位。因此,只要肉眼能夠識別,像素藝術的單位可以是光柵圖像的單個單位,或是這些單位的集合(例如,畫面上4X4像素的集合作為一個符號單位),甚至可以是矢量圖形(如將正方形的圖形作為一個符號單位)。再進一步說,像素藝術甚至不需要是數字圖像。只要具有類似的符號單位,即使是手繪或拼豆豆也可稱為像素藝術。

          綜上所述,像素藝術的單位大致具有以下特征。

          a. 正方形或者類似的形狀。

          b. 大小相等,并且沿著棋盤狀的縱橫網格排列。

          c. 每個單位含有一種顏色。

          上述a的條件雖然限定了正方形,但實際上并不一定得是正方形。在單位更精細的像素藝術(如本文開頭eBoy的作品)中,是否正好是正方形幾乎無關緊要。另外,也有像Atari 2600的圖形那樣,部分以長方形為單位的像素藝術類型(注釋26)。此外,也有一些單位并不是標準矩形的像素藝術類型,比如手繪或拼豆豆這種,以及輪廓模糊的像素藝術(注釋27)。

          相對來說,b的條件可能最接近像素藝術的本質。比如,雖然可以以三角形或六邊形排列的網格為單位繪制圖畫,但它們卻并不是“像素藝術”。同樣,馬賽克也不能稱為“像素藝術”。另外,正如gnck所指出的那樣(注釋28),對于熟悉像素藝術的人來說,單位大小參差不齊或沒有沿著網格排列的“像素藝術風事物”是非常不雅觀的。因此,可以說單位的統一以及排列整齊是像素藝術的基本特征。

          關于c的條件暫且保留。下一節會提到,近年來的電子游戲在使用像素藝術時,經常會在像素藝術上施加光影效果。因此導致單個像素單位被渲染成漸變色或使其帶有圖案。不過在施加效果之前的原始圖像中,可以認為每個單位只有一種顏色(注釋29)。

          綜上所述,像素藝術可以定義如下:像素藝術是一種具有相對較高句法敏感度的圖像,由肉眼可識別的單位所構成,并且這些單位滿足上述的a ~ c的條件。這里的圖像是一種符號,具有庫爾維奇所指出的4個特征(注釋30)。

          語言學家安德烈·馬丁內(Andre Martinet)認為所有人類語言都具有“雙重分節”的特征。雙重分節是指在語言系統中被分節為最小的具有意義的單位(第一分節),還可以再次分節成一系列沒有意義的單位(第二分節)。比如在英語中有意義的最小單位是“cat”這樣的單詞,“cat”很明顯是由“c”、“a”、“t”這樣本身沒有意義的單位構成的(注釋31)。

          對于圖像而言,一般來說是沒有辦法以容易理解的方式進行二次分割的。比如一幅典型的繪畫作品,其中能作為單位被切割出來的要素通常都是具有一定意義的。與此相對,像素藝術則具有明顯的雙重分節特性。因為單個像素(本身并不具有意義)就相當于字母。可以說在這一點上,像素藝術是接近語言的。

          雙重分節的概念經常被用來說明語言的經濟性(由數量有限的要素組成)和創造性(能夠產生無數的詞語和句子)(注釋32)。與語言相同,像素藝術也同樣可以由“有限的要素產生無限的組合”,因此像素藝術也是一種看似簡單卻蘊含著無限可能性的視覺表現形式。

          就此結束這場抽象又乏味的討論吧。后文將從像素風格發展史的角度來探討像素藝術的多樣性。

          第2章 像素藝術與風格

          《超級兄弟:劍與巫術EP》(Superbrothers: Sword & Sworcery EP)(Superbrothers & Capybara Games,2011)

          像素藝術的多樣性

          第一章闡明了什么是像素藝術。簡單來說,像素藝術就是“由正方形形狀的大小相等的像素集合而成,其中每個像素都可以用肉眼分辨,并且只要稍微改變其中某個像素,就會使其指稱的事物發生改變的一種圖像”。不過也有很多其他類型的圖像滿足該定義。因此,可以說像素藝術與其他所有的藝術類型一樣,包含子類別。

          那么像素藝術具體有哪些子類呢?今井晉將現代像素藝術做了如下劃分(注釋33)。雖然該圖的分類僅針對“現代游戲”(注釋34),但是基本上足夠我們了解實際存在哪些類型的像素藝術以及它們的不同之處。

          像素藝術的分類。出自今井晉《現代游戲與像素表現》(「現代のゲームとピクセル表現」)、192頁

          如圖所示,上圖中縱軸為“高比特/低比特”,表示技術水平的高低。具體而言,技術主要體現在像素的精細度、可使用顏色數量的多少、有無光影效果以及是否加入3D表現等幾個方面。橫軸則以“復古感/未來感”來表示像素藝術在畫面表達上的兩種傾向,兩者的區別在于,是如字面意思一般重現過去的像素藝術表現形式(注釋35),還是呈現出全新的表現形式。

          將上述兩條軸垂直相交后大致可以形成“懷舊主義”“風格主義”“低保真”“前衛主義”這四種類型。下面我們就以實際游戲為例來看看這四種類型具體指的什么。

          《星露谷物語》(Stardew Valley)(ConcernedApe,2016)

          在今井的分類圖中,位于圖左的《星露谷物語》的圖形就是一種顯而易見的復古風格的像素藝術。其圖形幾乎完全繼承了20世紀90年代前半期家用游戲機(具體來說,就是以超級任天堂為代表的所謂第四代家用游戲機)游戲界面的典型圖像風格。另外,在像素的精細程度和有無添加效果等技術方面,也和當時的圖像沒有太大差別。也就是說在技術上屬于“低比特”(盡管在一些細節方面可以找到90年代沒有的畫面表現和技術水平)。由于第四代家用游戲機使用16位CPU,因此這種風格也常被稱為“16位風”。

          與之相反的是最右邊的《超級兄弟:劍與巫術EP》的圖形(本章開頭的圖像),在技術方面和《星露谷物語》沒有太大區別。盡管該作在光影效果上下了功夫,但整體畫面基本上還是通過在每一個像素上設置顏色的方式制作而成,可以說在這一點上依然使用了傳統的像素藝術技術。但是,兩者在表現方式上卻完全不同。即使不考慮視角上的差異,在色彩運用、涂抹技巧、對象的單位、人體表現、明暗表現等很多方面,《超級兄弟:劍與巫術EP》與《星露谷物語》這種傳統的像素藝術都有很大的不同。這樣的像素藝術表現,或許可以說正是這部作品所做的創新(注釋36)。因為它并沒有完全再現過去的表現形式,而是創造出了一種新的表現形式。就這一點而言,按照今井的觀點,可以認為具有這種畫面表現的像素藝術帶有十分強烈的“未來感”性質。

          《傳說之下》(UNDERTALE)(Toby Fox,2015)

          再來看看技術方面(縱軸)的對比。比如位于下方的《傳說之下》的圖形,從圖中可以看出,該作的每個角色所使用的顏色數都被控制在個位數以內,讓人想起比16位機時代還要早一代(以任天堂紅白機為代表的8位機時代)的圖形(注釋37)。顏色數量少會直接導致陰影表現的單調。因此,《傳說之下》的畫面表現與前面提到的《星露谷物語》相比會給人一種更加呆板的印象。

          《歧路旅人》(OCTOPATH TRAVELER)(史克威爾?艾尼克斯/Acquire,2018)

          與此相對,上面的《歧路旅人》的圖形中,雖然每個角色都是20世紀90年代風的像素藝術風格,但承載角色移動的地形卻是3D形式(紋理的一部分看起來像是模糊的像素藝術,在這一點上或許可以說是有以PlayStation?為代表的第五代家用游戲機的圖形風格,但卻比當時的圖形要“漂亮”得多)。另外,還刻意添加了光影和模糊(淺焦)效果,實現了傳統像素藝術技法明顯無法實現的表現。《歧路旅人》在橫軸上位于何處暫且不論(注釋38),但在縱軸上毫無疑問位于“高比特”的極上方。

          綜上所述,可以說像素藝術有很多種類型。但它們并不是相互獨立的,而是形成一定數量的具有統一整體性的相互關聯的組群。“8位風”和“16位風”只是其中一種比較簡單粗糙的組群劃分方式,當然還存在很多不同的分類或命名方式。今井的四象限圖正是試圖將這些集群視覺化。

          本章的剩余篇幅將從“風格”的視角縱觀像素藝術的整體。

          風格是什么

          “風格(style)”是藝術學(注釋39)中常用的一種概念,在美術史的研究中尤其重要。風格是歸納多個作品的分類方法之一。比如建筑方面的羅馬式風格和哥特式風格,繪畫方面的印象派和野獸派,音樂方面的古典派和浪漫派,佛像方面的定朝派和慶派等(如果是大學的講義,這個部分應該分別舉例說明,但限于篇幅,這里就請自行谷歌吧)。

          風格不僅可以用來描述古代的藝術作品,在現代文化中的應用也十分廣泛。例如,時尚圈中常見的“~系”這種用語統統都是風格的意思,流行音樂中派生的無數分支“流派”大多也可視為風格。

          盡管風格是對作品進行分類的方法之一,但它并不單純只是一種分類法。對風格這個概念很難準確定義(注釋40),不過大致可以解釋為如下:

          1. 風格是多部作品(注釋41)共通的模式。這或許可以說是某種“型”,但與其說是可以用語言明確說明的模式(例如,描繪了什么樣的主題、使用了什么樣的顏色等),不如說是從整體上給人的印象。因此,比起“~型”“~式”等說法,“~系”“~風”“~風格”等說法可能更貼切。

          2. 這種模式是可以通過鑒賞作品直接觀察到的。相反,需要調查該作品的履歷(例如制作時的狀況)才能獲悉的屬性等,則不屬于風格(注釋42)。

          3.風格前面通常會被冠上一個前綴,以“某某風格”的形式出現。也就是說,風格一般與某種實體性事物掛鉤。例如,羅馬式風格和哥特式風格與特定的時代、地域相關。印象派、浪漫派、慶派與藝術運動、藝術家團體、流派、工作室等具有一定的聯系,澀谷系、搖滾系、赤文字系則與特定的都市、雜志相聯系。還有將創作作品的作者與風格聯系在一起的情況(例如莫奈的風格)。如下文所述,風格有時也會和特定的技術相聯系。

          比起“8位風”和“16位風”這種分類方法,從風格的視角能夠對像素藝術做更細致的劃分(并命名)。另外,還可以從風格的角度考察像素藝術的歷史性變化。

          像素藝術的風格

          像素藝術的風格具體是什么樣的呢?另外,從風格的視角來考察像素藝術有什么意義呢?

          繼續以“8位風”和“16位風”為例。無論是8位風還是16位風,其本身都可以作為一種風格來理解。兩者都是通過觀看畫面直接感受到的整體印象。而且,正如其名,它們都是基于某種特定的技術而形成的。例如,8位風是20世紀80年代后半期盛行的8位游戲機(紅白機等)所使用的典型圖形風格,并且這種圖形很大程度上是受硬件設備性能的限制而形成的。

          盡管的確存在風格與技術相關的情況,但并不代表技術會完全決定風格的形式。比如《星露谷物語》這樣的16位風像素藝術,說到底只是表現出了“這種風格”,實際上并沒有受到16位機的技術限制。只是在技術條件已經十分成熟的現代圖形環境下,特意選擇了這樣的表現方式而已。從風格的視角考察像素藝術的意義,就在于能夠將這些“選擇”“鉆研”“癖好”與單純的技術制約所產生的特征分開來理解。

          像《星露谷物語》這樣具有懷舊感或復興式的圖形表現形式,是在技術條件已經大不同,風格卻與過去的表現相同的例子。反過來,也有處于同等技術條件下,風格卻大不一樣的情況。以90年代16位機全盛時期的RPG圖形為例(注釋43)。

          《浪漫沙加》(『ロマンシング サ?ガ』)(史克威爾,1992)

          《浪漫沙加》(『ロマンシング サ?ガ』)(史克威爾,1992)

          如圖所示,上面的是1992年發售的《浪漫沙加》的畫面,下面的則是1995年發售的《浪漫沙加3》的畫面。兩者都是在超級任天堂平臺上推出的作品,可以說處于同等技術條件下。但是,它們的風格——作為整體印象觀看到的模式——卻大不相同。而造成這種印象差異的可以說主要是人物的頭身比、人物與環境的尺寸比、物件質感表現的精細程度、地圖芯片(注釋44)的使用方法、有無明確的輪廓線等。這種情況在同時代的其他許多16位機作品(比如《最終幻想Ⅳ》〔1991〕和《最終幻想Ⅵ》〔1994〕的對比等)的對比中也有體現。

          另外很重要的一點是,這些作品呈現出的模式——與“16位風”不同的、或許還沒有命名的風格——在其前后的時代都存在類似的情況。例如《浪漫沙加》的畫面,從風格的角度來看,可以說比起《浪漫沙加3》的畫面,更接近8位機作品——《最終幻想Ⅲ》(1990)的畫面(注釋45)。

          《最終幻想Ⅲ》(『ファイナルファンタジーⅢ』)(史克威爾,1990)

          盡管從畫面表現來看,《浪漫沙加》和《最終幻想Ⅲ》所使用的顏色數量明顯并不相等。但是,在其他很多方面(人物的頭身比、人物和建筑物的比例、地圖芯片的處理等等)卻是共通的,因此整體上給人一種相似的印象。兩者共通的模式,可以說是一種跨越技術的時代特征(8位機時代/16位機時代)的風格。

          從上述事例來看,風格和時期似乎是聯動的。對比來看,《浪漫沙加》和《浪漫沙加3》是4年左右的間隔,而《最終幻想Ⅲ》和《浪漫沙加》之間卻只有兩年多的間隔,因此后一對比前一對的相似程度更高。但是,風格的不同并不總是反映出時期的不同。有無數實例可以證明這一點(例如,對比下同時期的《勇者斗惡龍》系列和《最終幻想》系列的圖形,很明顯能看出兩者風格上的差異),下面來看一個差異比較明顯的例子。

          《魔星迷蹤 古代機械的記憶》(レナス 古代機械の記憶)(Asmik,1992)

          《魔星迷蹤 古代機械的記憶》和《浪漫沙加》一樣同為1992年發售的超級任天堂RPG,但其像素藝術卻相當獨特,可以說有著自己獨特的風格。具體來說,就是感覺不到建筑物的縱深、畫面的多數要素都是由直線、圓等簡單的圖形構成、強調輪廓線、以柔和色調為基礎的特征性配色等。

          姑且先不管如何評價這種圖形(比如可以評價為“算不上高明的像素藝術”),但它確實稱得上是一種獨特的表現形式。但這種獨特的表現形式是為何、以及如何產生的,從技術制約的角度是無法解釋的。這可能是由于設計師的技能和癖好所造成的結果,也可能是出于某種藝術目的而有意為之的結果(注釋46),總之,闡明這一點是像素藝術風格學的主要任務。可以說風格這一概念,提供了從技術之外的切入點來闡述像素藝術歷史的視角。

          電子游戲的風格學研究

          再把話題延伸一下吧。從風格的視角考察歷史性變化,還有其他幾點優勢。以阿洛伊斯·里格爾(Alois Riegl)和海因里希·沃爾夫林(Heinrich Wolfflin)為源頭的傳統美術史風格論提出了“風格的自主發展”的觀點。指的是各種藝術流派不是受外在環境因素(例如技術條件或產業結構)影響而形成的,而是由于自身內在發展需要不斷演變形成的。并且,這種自主性的變化在藝術流派之間表現出了一定程度的共性,可以總結出一套規律性的發展模式。

          例如,古希臘雕塑的發展模式——從古樸稚拙(古風時期),到重視勻稱和諧(古典時期),再到追求動態感(希臘化時期)——可以說從中世紀或文藝復興到巴洛克時期的歐洲美術也具有同樣的發展規律(注釋47)。恐怕在任何時代的任何藝術流派中或多或少都能找到與此雷同的發展模式(樸素→和諧→過剩)。此外,許多文化中出現的對過去風格的“復興”現象,也可以認為是風格自主性變化的一種形態。

          我認為這種“自主性演變的風格”觀點同樣適用于像素藝術。從今井的圖中可以明顯看出,像素藝術風格的復興正在進行中。另外,16位時代的像素藝術逐漸變得過于復雜和華麗的現象,也可以稱之為“巴洛克化”。前面提到的《浪漫沙加3》的圖像等,就是像素藝術巴洛克化的極致之一。

          電子游戲的發展史,迄今為止主要是從技術和產業的觀點展開的。盡管環境因素對畫面表現形式的影響的確不可忽視(特別是像電子游戲這樣技術發展迅速的領域),但還是存在很多從外部環境角度無法解釋的獨特表現形式。而風格這一視角則向我們表明了表象文化本身就蘊含著能夠引起其自身發生變化以及變得豐富多樣的動因。而且,這種視角不僅適用于圖形研究,對于探究電子游戲的所有藝術層面——游戲機制、故事表現、音響表現、UI設計等等——都有裨益。也就是說不僅是“像素藝術風格學”,還可以進一步擴展為“電子游戲風格學”。

          【本文分三次原載于日本文化廳網站,經作者授權翻譯。原文鏈接:https://mediag.bunka.go.jp/article/article-15549/;https://mediag.bunka.go.jp/article/article-16323/;https://macc.bunka.go.jp/891/】

          注釋:

          1 盡管本文并不涉及詞匯的演變過程,但不管其本義是什么,至少在現代語中,英語的“pixel art”可以說幾乎完全等同于日語的“點陣圖”(相較來說“點陣圖”的說法在語感上可能更能給人一種與電子游戲相關的感覺)。近年來“像素藝術(ピクセルアート)”一詞在日語中的使用也越來越廣泛。

          2 本文中的“電子游戲”(ビデオゲーム)也可以替換成“電腦游戲”“數字游戲”“視頻游戲”等。不過由于過于繁雜,為了方便起見下文中的“電子游戲”會適當略作“游戲”。

          3 這是因為當時的計算機硬件技術還相對落后,因此圖像的表現形式十分原始和單一,受制于此于是便形成了像素藝術這種風格的圖形表現形式。像素藝術的技術基礎是光柵圖形,但與之相對應的矢量圖和3DCG技術早在20世紀70年代末就已足夠成熟了。實際上,《爆破彗星》(Asteroids,1979年)和《暴風雨》(Tempest,1981年)等部分雅達利(Atari)的街機游戲都采用了美麗的矢量圖形,另外,《終極戰區》(Battlezone,1980年)和《星球大戰》(Star Wars,1983年)(盡管只是線框)也達到了一定程度的3D表現效果。

          4 雖然使用多邊形的游戲于20世紀80年代就已開始陸續出現在高配置的游戲中(最早的是雅達利的《我,機器人》[I,Robot,1984年]),但在家用游戲機領域,卻直到90年代中期出現第五代游戲機(PlayStation?、NINTENDO64等)才真正開始興起(雖然早期家用游戲機上也不是沒有像《星際火狐》[Starfox,1993年]一樣使用多邊形的游戲,但這種只能說是個例)。《超級馬里奧64》(1996年)和《最終幻想Ⅶ》(1997年)可以說體現了游戲畫面的呈現形式從像素藝術時代進化到多邊形時代的劃時代變革。

          5 由我擔當翻譯的杰斯帕·尤爾(Jesper Juul)的《半現實》(half real)(New Games Order,2016)以及米格爾·西卡爾(Miguel Sicart)的《玩樂的重要性》(Play Matters)(Filmart,2019)等游戲研究書籍的封面也是由像素藝術家YACOYON繪制的插圖。

          6 關于芯片音樂的發展史,參見田中治久(hally)的《關于芯片音樂的一切 All About Chiptune——從游戲機中誕生的新式音樂》(チップチューンのすべて All About Chiptune――ゲーム機から生まれた新しい音楽,誠文堂新光社,2017)。

          7 等距圖(等軸測圖)是一種通過投影法從斜上方的視角繪制物體的投影圖。以30°和150°的平行網格作為輔助線,將物體的直角坐標軸以60°和120°的形式顯示在投影面上。等距視圖曾被廣泛應用于電子游戲(特別是戰略戰術模擬和城市開發模擬)中。因此,等距像素畫給人一種電子游戲的即視感。順便說一句題外話,等距像素畫是通過將網格的水平軸與垂直軸的縱橫比調整為2:1來實現的,因此相對于水平線的角度是26.565°,而不是30°,導致與原本的等軸測圖相比,等距像素畫在縱向上略微失真。參見英語維基百科“Isometric video game graphics”條目。

          https://en.wikipedia.org/wiki/Isometric_video_game_graphics

          8 盡管本文并未涉及,實際上還有一種從像素藝術衍生出來的被稱為體素藝術(voxel art)的視覺表現形式。體素藝術是以立方塊為單位搭建出三維空間來構建圖形的,可以理解為是二維表現形式的像素藝術的三維版本。《我的世界》(Minecraft)可以說是采用體素藝術風格圖形的代表性游戲作品。如果說像素藝術是繪畫的一種,那么體素藝術則可以說是雕刻的一種。

          9 后文談到的像素藝術的多樣性和分類參見以下論著。今井晉《現代游戲與像素表現》(「現代のゲームとピクセル表現」)《像素百景:現代像素藝術的世界》(『ピクセル百景 現代ピクセルアートの世界』),第192—195頁。

          10. 參見柏拉圖的《美諾篇(meno)或論美德》(渡邊邦夫譯,光文社,2012)。

          11. scrama_sax、Twitter、2012年1月17日(標點符號由引用者追加)。

          https://twitter.com/scrama_sax/status/159244346590371840

          12. gnck《從技術制約到美學條件》(「技術的制約から美學的條件へ」)《像素百景:現代像素藝術的世界》,第11頁。

          13 光柵圖像是一種以數據形式表示的、由像素的集合構成的數字化圖像,也被稱為位圖。也就是說,每個像素都有不同的顏色值。因此,放大圖像后就會看到一個個像素小色塊。目前我們在網絡上看到的數字圖像基本上都是光柵文件格式(如png、jpg、gif等)。與此相對,矢量圖則是將表示幾何圖形信息的集合(如曲線的起點、終點和控制點的坐標信息)數據化而形成的圖像(svg格式的圖像就是典型的矢量圖)。矢量圖中沒有像素的概念,因此即使放大也不會出現鋸齒。如果熟悉Adobe應用程序,就可以通過Photoshop和Illustrator的不同之處了解光柵圖和矢量圖之間的區別。

          14 今井《現代游戲與像素表現》,第192頁。

          15 另外需要注意“像素或像素的集合”這兩個術語的使用。根據今井的論述,關鍵點就在于弄清楚組成像素藝術的基本單位“ドット(點陣)”和作為圖像顯示的基本單位“像素”(也就是畫素)這兩者之間的區別(“點陣/像素”的用法出自今井)。像素藝術定義中的有意義的單位不是指的作為圖像顯示單位(表示畫面分辨率)的“像素”,而是顯示器上可用肉眼識別的符號單位“ドット(點陣)”(繪圖/解釋時的單位),并且每個“ドット(點陣)”都可以由“像素”的集合構成(當然,只要每個“像素”是可識別的,那么“像素”=“點陣”也是可以成立的。實際上,過去游戲中的像素畫基本上都是顯示單位=符號單位)。后面還會說明,本文所述的“像素藝術的單位”基本上與今井所說的“ドット(點陣)”相對應。

          16 Johan G. Bontes, Bill Gosper’s Glider Gun in Action: A Variation of Conway’s Game of Life, animated GIF, 2005. CC BY-SA 3.0. https://commons.wikimedia.org/wiki/File:Gospers_glider_gun.gif

          17 這種模型被命名為“滑翔機槍”,從某種意義上來說,或許可以說該模型代表了滑翔機和發射滑翔機的槍。但是,這就好比從月亮的形狀或星星的排布中找出動物的樣子一樣,與其說是一幅圖,不如說是“看起來像什么,取決于你怎么看”。或者也可以說康威的生命游戲本身就是對某些生態系統的模擬(因此也是一種表象),但它是否是一種模擬與它是否是一幅圖像并無關聯。

          18 圖像包括圖片和照片。英語界的描寫哲學認為從圖像的本質來看,圖片和照片是包含在圖像的概念范疇內的(當然并沒有忽視兩者之間的區別)。“image”一般與“picture”同義,但也有學者將其作為專業術語加以區分。

          19 我曾經在博客上發表過一篇關于描寫哲學的調查論文。如有興趣,可參閱下文。http://9bit.99ing.net/Entry/13/

          20 結構主義的代表性理論是納爾遜·古德曼(Nelson Goodman)的《藝術的語言》(Languages of Art)(戶澤義夫、松永伸司譯,慶應義塾大學出版社,2017年)。本文所介紹的庫爾維奇的理論基本上可以說是脫胎于古德曼,但對其理論進行了更新。另外,由于過于繁瑣,本文對這一點進行了簡化說明,但嚴格來說,結構主義關注的并不是每個符號的特征,而是單個符號所屬的符號系統的特征。

          21. John Kulvicki, “Image Structure,” Journal of Aesthetics and Art Criticism 61, no. 4 (2003): pp. 323–340; John Kulvicki, On Images: Their Structure and Content (Oxford; Clarendon Press, 2006), chap. 2, 3.

          22 準確地說,庫爾維奇關注的并不是符號的內容,而是關于符號同一性的敏感度。不過,因為符號的內容依賴于符號的同一性(supervian),所以這種說法沒有太大的問題。

          23 庫爾維奇也同樣舉了個關于“icon”的例子,但不是桌面圖標,而是基督教的圣人畫像。庫爾維奇認為,從圖像學的角度來看,被箭射中的男性畫像只表達了一個內容——《圣塞巴斯蒂亞諾的殉教》——不論該圖中男子的姿勢、箭的刺法或背景如何。當然,內容是解釋框架(符號系統)的問題,如果把這幅畫看作圖像(picture),而不是圖標(icon),就具有豐富的內容。

          24 實際上,庫爾維奇對第四個特征進行了十分深入的探討。不過在本文中詳細介紹并無太大意義,所以這里就只簡單地說明了符號和內容的相似之處。雖然從專業的觀點來看,這種簡化有很大問題,不過并沒有明顯偏離重點。

          25 詳細來說,除了作為數據格式的光柵形式之外,還有作為影像輸出(或者印刷輸出)格式的光柵掃描。例如,在普通顯示器或打印機上輸出以矢量形式保存的圖像數據時,先由操作系統或打印機驅動程序進行光柵化處理,然后再顯示在屏幕或紙上。因此,現代我們看到的大部分圖像,除了手繪素材之外,都可以說是經過光柵化處理的。當然,從這一點來看,是否是光柵化圖像與是否是像素畫并無關聯。相關論述參見以下內容。Alistair M. C. Isaac, “Digital Images: Content and Compositionality,” Journal of the American Philosophical Association 3, no. 1 (2017): pp. 106–126.

          26 雖然不怎么了解技術層面的問題,不過由于背景和部分精靈在水平方向上的分辨率較低(換句話說,單位較大),所以在整體上給人一種橫向拉長的印象。參見以下內容。「Atari2600詳細」WentWayUp、2015年。

          https://wentwayup.tamaliver.jp/e404777.html 暫且不從技術層面分析,單看畫面就有一種“拉長的感覺”。例如以下Atari 2600評測網站的圖片。

          https://videogamecritic.com/2600aa.htm

          27 推特上曾熱議過一個與此相關的話題,有人指出以紅白機為代表的早期家用游戲機制作的像素藝術圖像,可能是基于顯像管或RF連接造成的圖像暈染而形成的。《對“過去的點陣圖是以顯像管的暈染為前提設計而成”的質疑》,Togetter, 2017年。https://togetter.com/li/1131267 如果這個說法是正確的,那么這可能意味著單位明顯呈正方形這一特征在像素藝術史上出現的較晚(實際上,RF輸出到顯像管的像素藝術的單位并不清晰可辨)。不過,即使感知上的確是模糊的,看的人也會知道這是像素藝術(符合定義的),可以說這是因為他們假定了隱藏在模糊的圖像背后的是四方形像素。

          28. Gnck《從技術制約到美學條件》,第12頁。

          29 這也可以從色彩的恒定性的角度來說明。無論添加多少光影效果,在感知上基色都是不變的。

          30 除了文中所述定義之外,還可以追加其他條件作為判斷像素藝術的標準。比如,第一,可以限定單位的可識別度達到哪種程度才屬于像素藝術。如果單位太小或太過模糊,可能很難直接用肉眼識別。這種情況我們可以選擇仍然將其視為像素藝術,或是將其從像素藝術中排除。如果認定這種情形屬于像素藝術,那么則可能需要放寬可識別的條件。第二,可以按照圖像繪制方式的不同來定義像素藝術。一方面,可以選擇將基于照片或3DCG自動生成的像素藝術風的圖像認定為“真正的”像素藝術,另一方面,可以選擇將使用畫圖軟件的畫筆或鋼筆工具繪制的低分辨率光柵圖像認定為像素藝術。簡而言之,就是要不要將像素藝術的傳統繪制方法——即逐個像素手工填充顏色——納入定義中。上述可供選擇的條件,哪一個都是比起“哪個定義更正確”,更重要的是“哪個定義更方便”,我們在界定像素藝術的范圍時只需要考慮哪個更為切合自己的研究目的。我本人對此持中立立場,但不管怎樣,必須有一個明確的概念來界定像素藝術。

          31 這里為了便于理解僅舉了字母的例子,但實際上語音層面的單詞和音素也是同樣一回事。比如單詞“cat”就是由本身沒有意義的音素[k]、[?]、[t]構成的。

          32 參見如下例子。Daniel Chandler, “Articulation,” in Semiotics for Beginners, 2017. http://visual-memory.co.uk/daniel/Documents/S4B/sem08a.html

          33 今井晉《現代游戲與像素表現》《像素百景:現代像素藝術的世界》(畫刊社,2019年),192—195頁。

          34 雖然出現在圖中的大多數都是獨立游戲,但這種情況是自然而然出現的,并不是在選擇時偏向于這種類型。正如前文所述,這是因為獨立游戲的圖形是當代最前沿的像素藝術表現形式之一。

          35 今井也指出“懷舊感”并不一定是要再現過去的像素藝術。這可以理解為是一種風格的復興。風格的復興往往在繼承過去表現風格的同時,也經常在此基礎上加以創新,或與現代表現形式相結合。

          36 《超級兄弟:劍與巫術EP》中的圖形給后續的許多像素藝術帶來了顯而易見的影響,但其本身是否受到了某些前人的啟發就不得而知了。《超級兄弟:劍與巫術EP》的設計師“Superbrothers”克雷格·亞當斯(Craig Adams)在2002年到2003年就讀美術學校時,開始自學像素藝術的創作手法和技巧。他在采訪中提到過曾受到《波斯王子》(Prince of Persia,1989)和《異世界》(Another World,1991)等16位時代的電子游戲作品的影響,不過實際呈現的游戲畫面與這些復古游戲的圖形卻并沒有那么相似。參見下文。Adrian Sanders, “A Profile on Sword & Sworcery EP Creator Craig Adams,” Kill Screen | Pitchfork, May 2, 2011, https://pitchfork.com/features/article/7962-kill-screen/?page=2; Jake Vander Ende, “Interview: Craig Adams on the Commodore 64, Design Reboot, Conan the Barbarian, and #Sworcery,” Aletheia’s Herald, April 1, 2011, https://asherald.wordpress.com/2011/04/01/interview-craig-adams-on-the-commodore-64-design-reboot-conan-the-barbarian-and-sworcery/. 此外,《超級兄弟:劍與巫術EP》設計圖的基本形態在2008年發布視頻作品階段就已經完成了。Superbrothers, “Design Reboot HD,” Vimeo, https://vimeo.com/3807518.

          37 比如在紅白機中8×8或16×16像素的每個單位最多可以使用4種顏色,而在精靈上移動的各個對象(例如角色)實際上則需要使用除透明色以外的3種顏色來描繪。“8位風”的像素藝術雖然不一定嚴格遵守這一限制,但通常會大大縮減顏色數量,使其看起來更貼近8位機時代的風格。

          38 在今井的圖中,《歧路旅人》(OCTOPATH TRAVELER)位于橫軸中央稍微偏右(“未來感”方向)的位置。但在我看來,這種像素藝術表現本身并沒有什么新奇之處,應該放在更靠左的位置。這是因為它幾乎完全再現了90年代后期(四代機后期到五代機時代)經典JRPG 中2D角色的表現形式。另外,雖然在地形的繪制上采用了3D技術,但總體設計基本上似乎還是偏向于“懷舊性”表現形式。

          39 這里的“藝術學”一詞泛指對文學、音樂、繪畫、雕刻、戲劇、舞蹈、電影、攝影、建筑等各種藝術流派的人文學研究。從這一點來看,所謂的游戲研究也屬于藝術研究的一種。另外,文學中風格通常被稱為“文體”,但英語中一般也使用“style”這個詞。

          40 我曾在博客中詳細寫過關于風格這一概念的特征。如有興趣,可參閱下文。http://9bit.99ing.net/Entry/98/

          41 這里所指的“作品”不僅包括狹義上的藝術作品,還包括屬于某種文化范疇的一般事物。

          42 當然,這種屬性有時可以通過風格來推測。例如,根據作品的風格(在無法根據其他資料進行確定的情況下)來推測其創作者和創作年代,這是美術史學的傳統手法之一。

          43 電子游戲的圖形風格,往往因視角(從哪個角度描繪空間)和游戲類型的不同而大相徑庭。因此,如果要進行適當地比較,最好按照統一的標準選擇比較的對象。這里將對比的游戲限定為自上而下視角的RPG。

          44 一種以特定尺寸的像素為單位,將其排列成瓷磚狀來制作畫面的手法。只需要少量數據即可實現多種表現形式。

          45 順便說一下,這里列舉的全部都是史克威爾發行的作品,而且都是由澀谷員子擔任角色的美術設計。因此,也可以從一個像素藝術家的風格演變的角度來考察這種差異。不過,本文的研究目的是從整體上揭示風格這一視角的意義,而不是以個別作家為討論焦點。

          46 比如對輪廓線的處理和對色彩的獨特運用,可以解釋為試圖在像素藝術中再現概念藝術家加藤洋之&后藤啟介的插畫風格。關于《魔星迷蹤》的例子,很大程度是受立命館大學大學院的毛利仁美老師的啟發。在此向她表示感謝。

          47 關于這種發展史觀的概述,參見下文。James Elkins, “Style,” Grove Art Online, 2003, https://doi.org/10.1093/gao/9781884446054.article.T082129. 如果仔細觀察實際歷史現象,就會發現這一套解釋有很多不合理的地方,但的確這種簡單易懂的發展脈絡已經滲透到了方方面面,而且這種發展脈絡的確在某種程度上具有一定的解釋力。

          Python寫爬蟲工具在現在是一種司空見慣的事情,每個人都希望能夠寫一段程序去互聯網上扒一點資料下來,用于數據分析或者干點別的事情。

          我們知道,爬蟲的原理無非是把目標網址的內容下載下來存儲到內存中,這個時候它的內容其實是一堆HTML,然后再對這些HTML內容進行解析,按照自己的想法提取出想要的數據,所以今天我們主要來講四種在Python中解析網頁HTML內容的方法,各有千秋,適合在不同的場合下使用。

          首先我們隨意找到一個網址,這時我腦子里閃過了豆瓣這個網站。嗯,畢竟是用Python構建的網站,那就拿它來做示范吧。

          我們找到了豆瓣的Python爬蟲小組主頁,看起來長成下面這樣。


          讓我們用瀏覽器開發者工具看看HTML代碼,定位到想要的內容上,我們想要把討論組里的帖子標題和鏈接都給扒出來。


          通過分析,我們發現實際上我們想要的內容在整個HTML代碼的 <table class="olt">這個區域里,那我們只需要想辦法把這個區域內的內容拿出來就差不多了。

          現在開始寫代碼。

          1: 正則表達式大法

          正則表達式通常被用來檢索、替換那些符合某個模式的文本,所以我們可以利用這個原理來提取我們想要的信息。

          參考以下代碼。


          在代碼第6行和第7行,需要手動指定一下header的內容,裝作自己這個請求是瀏覽器請求,否則豆瓣會視為我們不是正常請求會返回HTTP 418錯誤。

          在第7行我們直接用requests這個庫的get方法進行請求,獲取到內容后需要進行一下編碼格式轉換,同樣是因為豆瓣的頁面渲染機制的問題,正常情況下,直接獲取requests content的內容即可。

          Python模擬瀏覽器發起請求并解析內容代碼:

          url='https://www.douban.com/group/491607/'
          headers={"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:71.0) Gecko/20100101 Firefox/71.0"}
          response=requests.get(url=url,headers=headers).content.decode('utf-8')

          正則的好處是編寫麻煩,理解不容易,但是匹配效率很高,不過時至今日有太多現成的HTMl內容解析庫之后,我個人不太建議再手動用正則來對內容進行匹配了,費時費力。

          主要解析代碼:

          re_div=r'<table\s+class=\"olt\">[\W|\w]+</table>'
          pattern=re.compile(re_div)
          content=re.findall(pattern, str(response))
          re_link=r'<a .*?>(.*?)</a>'
          mm=re.findall(re_link, str(content), re.S|re.M)
          urls=re.findall(r"<a.*?href=.*?<\/a>",  str(content), re.I|re.S|re.M)


          2: requests-html

          這個庫其實是我個人最喜歡的庫,作則是編寫requests庫的網紅程序員 Kenneth Reitz,他在requests的基礎上加上了對html內容的解析,就變成了requests-html這個庫了。


          下面我們來看看范例:


          我喜歡用requests-html來解析內容的原因是因為作者依據幫我高度封裝過了,連請求返回內容的編碼格式轉換也自動做了,完全可以讓我的代碼邏輯簡單直接,更專注于解析工作本身。

          主要解析代碼:

          links=response.html.find('table.olt', first=True).find('a')

          安裝途徑: pip install requests-html


          3: BeautifulSoup


          大名鼎鼎的 BeautifulSoup庫,出來有些年頭了,在Pyhton的HTML解析庫里屬于重量級的庫,其實我評價它的重量是指比較臃腫,大而全。

          還是來先看看代碼。


          soup=BeautifulSoup(response, 'html.parser')
          links=soup.findAll("table", {"class": "olt"})[0].findAll('a')

          BeautifulSoup解析內容同樣需要將請求和解析分開,從代碼清晰程度來講還將就,不過在做復雜的解析時代碼略顯繁瑣,總體來講可以用,看個人喜好吧。

          安裝途徑: pip install beautifulsoup4

          4: lxml的XPath

          lxml這個庫同時 支持HTML和XML的解析,支持XPath解析方式,解析效率挺高,不過我們需要熟悉它的一些規則語法才能使用,例如下圖這些規則。

          來看看如何用XPath解析內容。

          主要解析代碼:

          content=doc.xpath("//table[@class='olt']/tr/td/a")


          如上圖,XPath的解析語法稍顯復雜,不過熟悉了語法的話也不失為一種優秀的解析手段,因為。

          安裝途徑: pip install lxml

          四種方式總結

        1. 正則表達式匹配不推薦,因為已經有很多現成的庫可以直接用,不需要我們去大量定義正則表達式,還沒法復用,在此僅作參考了解。
        2. BeautifulSoup是基于DOM的方式,簡單的說就是會在解析時把整個網頁內容加載到DOM樹里,內存開銷和耗時都比較高,處理海量內容時不建議使用。不過BeautifulSoup不需要結構清晰的網頁內容,因為它可以直接find到我們想要的標簽,如果對于一些HTML結構不清晰的網頁,它比較適合。
        3. XPath是基于SAX的機制來解析,不會像BeautifulSoup去加載整個內容到DOM里,而是基于事件驅動的方式來解析內容,更加輕巧。不過XPath要求網頁結構需要清晰,而且開發難度比DOM解析的方式高一點,推薦在需要解析效率時使用。
        4. requests-html 是比較新的一個庫,高度封裝且源碼清晰,它直接整合了大量解析時繁瑣復雜的操作,同時支持DOM解析和XPath解析兩種方式,靈活方便,這是我目前用得較多的一個庫。

        5. 除了以上介紹到幾種網頁內容解析方式之外還有很多解析手段,在此不一一進行介紹了。

          寫一個爬蟲,最重要的兩點就是如何抓取數據,如何解析數據,我們要活學活用,在不同的時候利用最有效的工具去完成我們的目的。

          因篇幅有限,以上四種方式的代碼就不貼在文章里了,歡迎給我私信獲取。

          歡迎關注我 “紙飛機編程”,獲取更多有趣的python教程信息。

          者|Mybridge

          譯者|無明

          在過去的一年里,我們比較了將近 12,000 個 Vue.js 開源項目和庫,從中挑選了最好的 45 個(0.37%)。

          這些項目和庫可以分為 3 類:

          • 用戶界面(1~19)
          • Vue.js 工具(20~36)
          • 項目(37~45)

          這是一個非常好的清單,精心挑選了 2018 年 1 月至 12 月期間發布的最佳 Vue.js 開源項目。Mybridge 在受歡迎程度、參與度和新鮮度方面對它們進行了評估。其中 Github 的 Star 數平均為 2,620。

          用戶界面

          1.Vuetify



          用于 Vue.js 2 的 Material 組件框架 1.0 版本,Github Star 數 16672。

          地址:https://github.com/vuetifyjs/vuetify

          2.Weex-ui



          基于 Vue.js 和 Weex 的輕量級高性能交互式 UI 庫,由阿里巴巴貢獻,Github Star 數為 4097。

          地址:https://github.com/alibaba/weex-ui

          3.Eagle.js

          一個使用 Vue.js 開發的幻燈片框架,Github Star 數 3343。

          地址:https://github.com/Zulko/eagle.js

          4.Vuesax



          前端 Vue 組件,Github Star 數 2755。

          地址:https://github.com/lusaxweb/vuesax

          5.Vue-ydui



          Vue2.js 移動組件庫,Github Star 數 2308。

          地址:https://github.com/ydcss/vue-ydui

          6.Vue-grid-layout



          Vue.js 可拖動且可調整大小的網格布局,Github Star 數 2003。

          地址:https://github.com/jbaysolutions/vue-grid-layout

          7.Vue-virtual-scroller



          可以平滑滾動任意數量的數據,Github Star 數 1741。

          地址:https://github.com/Akryum/vue-virtual-scroller

          8.Vue-content-loader

          用于創建占位符加載的 SVG 組件,例如 Facebook 卡片加載,Github Star 數 1345。

          地址:https://github.com/egoist/vue-content-loader

          9.Mand-mobile

          基于 Vue.js 2 的移動 UI 工具包,專為財務方案而設計,Github Star 數 1391。

          地址:https://github.com/didi/mand-mobile

          10.Vuikit

          用于網站界面的響應式 Vue UI 庫,Github Star 數 1293。

          地址:https://github.com/vuikit/vuikit

          11.Vue-design-system v2.0



          一個用于基于 Vue.js 構建 UI 設計系統的開源工具,Github Star 數 1296。

          地址:https://github.com/viljamis/vue-design-system

          12.Vue-styleguidist



          Vue 組件樣式指南生成器,帶有實時的樣式指南,Github Star 數 1088。

          地址:https://github.com/vue-styleguidist/vue-styleguidist

          13.Heyui



          用于 Web 的 UI 工具包,Vue2.0 ,Github Star 數 934。

          地址:https://github.com/heyui/heyui

          14.Vue2-animate v2.0

          Animate.css 的 Vue 移植版本,用于 Vue 的內置過渡,Github Star 數 884。

          地址:https://github.com/asika32764/vue2-animate

          15.Ui



          官方 Vue 應用程序的 UI 組件,Github Star 數 841。

          地址:https://github.com/vuejs/ui

          16.Proppy

          UI 組件的 prop 組合(支持 React.js 和 Vue.js),Github Star 數 792。

          地址:https://github.com/fahad19/proppy

          17.ZircleUI

          開發可縮放用戶界面的前端庫,基于 Vue.js ,Github 上 650。

          地址:https://github.com/zircleUI/zircleUI

          18.Vue-overdrive

          用于 Vue 應用程序的過渡效果,超級簡單,Github Star 數 439。

          地址:https://github.com/mattrothenberg/vue-overdrive

          19.Vue-argon-design-system



          Vue Argon 設計系統,Github Star 數 302。

          地址:

          https://github.com/creativetimofficial/vue-argon-design-system

          Vue.js 工具

          20.Vue-cli



          用于快速 Vue.js 開發的 CLI 3.0 版本,Github Star 數 18952。

          地址:https://github.com/vuejs/vue-cli

          21.Vue-devtools(v 4.0)



          Chrome 開發者工具的擴展,用于調試 Vue.js 應用程序,Github Star 數 12112。

          地址:https://github.com/vuejs/vue-devtools

          22.Vue-native-core



          Vue Native 是一個使用 JavaScript 構建跨平臺原生移動應用程序的框架 [Github Star 數 5545]。

          地址:https://github.com/GeekyAnts/vue-native-core

          23.Tiptap

          Vue.js 富文本編輯器 ,Github Star 數 2790。

          地址:https://github.com/scrumpy/tiptap

          24.Uni-app

          使用 Vue.js 開發跨平臺應用程序的前端框架 ,Github Star 數 2276。

          地址:https://github.com/dcloudio/uni-app

          25.Vue-rx v6.0

          Vue.js 的 RxJS 集成,Github Star 數 2284。

          地址:https://github.com/vuejs/vue-rx

          26.Eros



          一組 Vue 代碼,兩端原生應用程序,Github Star 數 1587。

          地址:https://github.com/bmfe/eros

          27.Vue-wait



          Vue/Vuex 和 Nuxt 應用程序的復雜加載器和進度管理器,Github Star 數 1266。

          地址:https://github.com/f/vue-wait

          28.Vue-starter

          一個生產就緒、靈活可擴展的 PWA 樣板,專注于性能、開發速度和最佳實踐,Github Star 數 1192。

          地址:https://github.com/devCrossNet/vue-starter

          29.Vue-hooks

          使用 Vue 實現的 React Hooks,Github Star 數 1148。

          地址:https://github.com/yyx990803/vue-hooks

          30.Portal-vue

          Vuejs 的 Portal 組件,用于在組件外部、文檔的任意位置渲染 DOM,Github Star 數 1414。

          地址:https://github.com/linusborg/portal-vue

          31.Vue-fullpage.js

          fullPage.js 的官方 Vue.js 包裝器,Github Star 數 829。

          地址:https://github.com/alvarotrigo/vue-fullpage.js

          32.Vue-api-query

          一種構建 REST API 請求的優雅而簡單的方法,Github Star 數 750。

          地址:https://github.com/robsontenorio/vue-api-query

          33.Vuese

          Vue 組件文檔的一站式解決方案,Github Star 數 741。

          地址:https://github.com/vuese/vuese

          34.Vuex-orm

          Vuex 插件,用于啟用對 Vuex 存儲的對象關系映射(ORM)訪問,Github Star 數 724。

          地址:https://github.com/vuex-orm/vuex-orm

          35.Vuex-pathify

          Vue/Vuex 插件,為 Vuex 存儲提供統一的路徑語法,Github Star 數 651。

          地址:https://github.com/davestewart/vuex-pathify

          36.Vue-vr



          使用 Vue 構建 VR 應用程序的框架,Github Star 數 147。

          地址:https://github.com/imudin/vue-vr

          項目

          37.Vuepress

          Minimalistic Vue 驅動的靜態網站生成器,Github Star 數 11323。

          地址:https://github.com/vuejs/vuepress

          38.Gridsome

          使用 Vue.js 為 CMS 或數據構建超快的網站,在 Github Star 數 1902。

          地址:https://github.com/gridsome/gridsome

          39.Vue-music-webapp

          基于 Vue 的 Music WebApp,Github Star 數 1357。

          地址:

          https://github.com/CaiJinyc/vue-music-webapp

          40.Vue-realworld-example-app

          使用 Vue.js、Vuex、axios 和其他技術構建的示例性應用程序,Github Star 數 1187。

          地址:

          https://github.com/gothinkster/vue-realworld-example-app

          41.Page-transitions-travelapp

          旅行應用程序,具有類似原生的頁面過渡,Github Star 數 1145。

          地址:https://github.com/sdras/page-transitions-travelapp

          42.Sample-vue-shop

          一個示例商店,展示如何使用 Vue、Stripe 和 Serverless Functions 來管理支付流程,Github Star 數 918。

          地址:https://github.com/sdras/sample-vue-shop

          43.Vuegg

          Vue GUI 生成器,模擬和代碼可以一次性搞定,Github Star 數 853。

          地址:https://github.com/vuegg/vuegg

          44.Vue-filepond

          FilePond 的一個適配器組件,一個 JavaScript 庫,可以上傳任何東西,為加快上傳速度對圖像進行優化,并提供了非常順暢的用戶體驗,Github Star 數 467。

          地址:https://github.com/pqina/vue-filepond

          45.Monimo

          Netflix 風格的 Web App,用于觀看動畫,Github Star 數 230。

          地址:https://github.com/altinselimi/monimo

          英文原文:

          https://medium.mybridge.co/45-amazing-vue-js-open-source-for-the-past-year-v-2019-b8533f26a0a2


          主站蜘蛛池模板: 日日摸夜夜添一区| 精品国产免费一区二区三区香蕉| 中文字幕日韩精品一区二区三区| 2021国产精品视频一区| 国产日本一区二区三区| 精品乱码一区二区三区四区| 中文字幕精品一区二区| 日韩精品中文字幕视频一区| 国产成人久久一区二区不卡三区| 国产成人精品无人区一区| 极品尤物一区二区三区| 国产精品无码AV一区二区三区| 亚洲国产激情在线一区| 日本一区二区免费看| 一区 二区 三区 中文字幕| 伊人色综合视频一区二区三区 | 中文字幕一精品亚洲无线一区| 国产精品美女一区二区视频 | 末成年女A∨片一区二区| 国产91一区二区在线播放不卡| 国产精品一区二区久久精品| 国产一区二区三区在线观看影院| 国产精品视频分类一区| 日本中文字幕在线视频一区| 精品伦精品一区二区三区视频| 精品无码人妻一区二区三区| 免费无码一区二区| 无码精品人妻一区二区三区免费看| 无码少妇精品一区二区免费动态| 奇米精品一区二区三区在线观看| 人体内射精一区二区三区| 成人欧美一区二区三区在线视频| 日本一区二区三区精品视频| 国产精品一区三区| 精品欧洲av无码一区二区14| 国产日韩精品一区二区在线观看播放| 国产免费一区二区三区免费视频 | 久久亚洲国产精品一区二区| 精品欧美一区二区在线观看| 国产一区二区在线| 欲色aV无码一区二区人妻|