成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

我們分析了復仇者聯盟系列所有臺詞,看看英雄們都愛說什么?沒有劇透!

大數據 數據分析
復仇者系列火遍全球絕非意外,這部作品盡管出現了各種人物,而臺詞可以說是最能塑造人物性格的部分了。因此,文摘菌希望用數據分析的方式,看看漫威宇宙的英雄喜歡用的詞匯可視化,并通過此分析他們的人物特點,向這部偉大的作品致敬。

[[263786]]

大數據文摘出品

作者:蔣寶尚、魏子敏

《復仇者聯盟4》終于上映,這部匯集了10年回憶打造的電影,據看過的小伙伴們表示:3小時劇情,毫無尿點,全程都是經典回憶。

忙著工作還沒來得及看電影,又超怕被劇透的文摘菌這兩天的狀態基本是這樣👇

[[263787]]

萬般捉急的文摘菌在這周也去重新回憶了一下這個系列的作品。這部電影是復仇者系列的終結作品,能有如此成就,離不開《鋼鐵俠》、《美國隊長》,《雷神》、《綠巨人》等獨立敘事電影為其構建的宏大的宇宙觀,也在全球觀眾心里種下同一種英雄情結。

復仇者系列火遍全球絕非意外,這部作品盡管出現了各種人物,但是每個英雄又都被塑造地各具特色,讓人一次就能記住。

而臺詞可以說是最能塑造人物性格的部分了。因此,文摘菌希望用數據分析的方式,看看漫威宇宙的英雄喜歡用的詞匯可視化,并通過此分析他們的人物特點,向這部偉大的作品致敬。

本次分析,我們主要使用了R語言進行編程,目的是找出最能代表每位英雄的詞匯。數據選用了三個比較有代表性的漫威英雄交叉度極高的劇本,分別是:《復仇者聯盟》(就是打洛基的那一部)、《復仇者聯盟:奧創紀元》以及《美國隊長:內戰》。

上代碼前,先來看看分析結果。

1. 美國隊長:以你的名字呼喚你-鋼鐵俠!

復仇者聯盟

作為聯盟的老大哥,美國隊長超愛喊別人的名字。并且我們發現,他口中最經常出現的名字就是鋼鐵俠。此外,還經常點名的是Sam,和Strucker。

[[263788]]

美國隊長和鋼鐵俠可謂《復仇者聯盟》系列中兩大相愛相殺的主角了。兩人在電影中都是領導級別的角色,但是兩者的追求卻有很大的差異。在電影《美國隊長:內戰》中,復仇者聯盟團隊徹底分崩離析,分別從屬了美國隊長和鋼鐵俠兩大陣營。

一方面美國隊長為了自己的好朋友冬兵戰斗,另一方鋼鐵俠為了維護世界的秩序和為自己的父母報仇戰斗。兩者即是好友,又是同級別的對手,這或許也就解釋了為什么美國隊長總是叫鋼鐵俠的名字。

2. 黑豹:最喜歡談論“中二“話題的貴族

從分析結果來看,黑豹最喜歡說的是父親、朋友,國王等聽起來比較“中二“的詞語。

[[263789]]

黑豹的父親前任黑豹特查卡,瓦坎達的國王!守護者振金,是黑豹的偶像,卻在電影中死于一場陰謀。而黑豹作為瓦坎達的年輕的王位繼承人,將他父親的遺志作為了追求的夢想,守護著瓦坎達。國王身份,追求理想,這就是黑豹喜歡談論這類貴族話題的原因。

3. 蜘蛛俠:我還是個“寶寶“。

[[263790]]

作為全隊的“小朋友“,蜘蛛俠在復仇者聯盟系列電影中的臺詞一直比較幼齒,他在電影中說的最多的是詞是:“嗨”、“呃”、“嗯”。

在這三部電影中,蜘蛛俠只是一個十幾歲的孩子,在這么多大人物面前如果再不蹦蹦跳跳,那就更沒有存在感了☺。

4. 浩克和鷹眼:大家都愛黑寡婦。

通過可視化分析可以發現,綠巨人和鷹眼都非常喜歡提到黑寡婦。

[[263791]]

浩克喜歡和黑寡婦聊天原因很簡單,因為當綠巨人發狂時,黑寡婦用滿心關愛的眼神瞅著他那龐大的身軀,對他說道:“嘿,大塊頭,太陽快下山了!”然后慢慢地舉起了手,用她那柔軟的手指,伸向了綠巨人的手臂,輕輕滑了下來。這時候浩克就會平息他那滿腔的怒火!

電影中黑寡婦和鷹眼不是戀人或者情侶,他們的關系一直戀人未滿、曖昧不清。但是,因為兩人在復仇者聯盟之前就已經發生了一系列故事。刀光劍影,愛恨情仇,即是老友又是戰友,或許兩人早已暗生情愫。

5. 幻世和緋紅女巫:惺惺相惜,在線發糖!

復仇者聯盟

從數據可視化的結果中可以看到,幻視和緋紅女巫絕對是soulmate了,兩人的談論內容都很一致,特別喜歡說“恐懼、擔憂“類話題!

關于緋紅女巫,我們可以從她童年的經歷和非人的待遇中找到原因。而幻世作為超級人工智能,能夠看到別的英雄看不到的“畫面”,可能對未來的擔憂讓他心煩意亂。

6. 托爾:能力越大,責任越大,考慮深遠

復仇者聯盟

托爾作為雷神,擁有多種魔法能力,例如:操控風暴,釋放或控制閃電,將閃電能量實體化為盔甲,瞬間改變天氣,利用雷神之錘飛行,召喚雷神之錘令其飛回托爾用閃電與敵人交戰。

[[263792]]

雷神除去強大的戰斗力,托爾還掌握著星際級的知識。例如:寶石知識、各式星際飛船駕駛技術、格魯特語(格魯特所在種族的語言)、蟲洞知識。

或許是能力越大,責任越大,他比其他英雄角色看的更遠。在電影中,他對推動劇情前進的物品更加專注,例如洛基的權杖以及心靈寶石。

7. 洛基:追逐權力。

[[263793]]

洛基從小和雷神托爾一起長大。一直窺視眾神之王的寶座且不認同雷神托爾會是一位合格的繼承人。他野心十足想當老大,陰險狡詐陷害兄長、反逆父母,視天下生命如草芥,為了目的不擇手段。

總之一句話,他非常想要權力!

8. 奧創:更愛“詩和遠方“。

復仇者聯盟

奧創被制造出來的目的是為了守護和平,但是一誕生就發生錯誤,認為想要和平就要消滅人類和復仇者聯盟,于是搶走洛基權杖(心靈寶石)從尤利西斯·克勞手中弄到大量的振金,操縱趙海倫利用再生搖籃幫其制造幻視身體,想要進化得更強。

換句話說,奧創一出生就被訂上了守護和平的烙印,雖然他看問題的角度不同,但是和復仇者聯盟有著共同的任務。所以,它更加向往詩與遠方!

復仇者聯盟

上面條條的長度對應的是超級英雄使用每個詞匯的程度。

可視化過程

最后,分析完全劇的角色,我們也來一起看看整個可視化過程。

導入R語言包:

  1. library(dplyr) 
  2. library(grid) 
  3. library(gridExtra) 
  4. library(ggplot2) 
  5. library(reshape2) 
  6. library(cowplot) 
  7. library(jpeg) 
  8. library(extrafont) 

清除R工作環境中的全部東西:

  1. rm(list = ls()) 

加載包含所有圖片的文件夾(根據你自己的情況修改代碼):

  1. dir_images <- "C:\\Users\\Matt\\Documents\\R\\Avengers" 
  2. setwd(dir_images) 

設置字體:

  1. windowsFonts(Franklin=windowsFont("Franklin Gothic Demi")) 

英雄角色名字的簡化版本:

  1. character_names <- c("black_panther","black_widow","bucky","captain_america", 
  2.                     "falcon","hawkeye","hulk","iron_man", 
  3.                     "loki","nick_fury","rhodey","scarlet_witch", 
  4.                     "spiderman","thor","ultron","vision") 
  5. image_filenames <- paste0(character_names, ".jpg") 

將所有圖片讀入一個列表中。

  1. all_images <- lapply(image_filenames, read_image) 

將角色名字分配給圖像列表,以便按名字對其進行索引。

  1. names(all_images) <- character_names 

例如:

  1. # clear the plot window 
  2. grid.newpage() 
  3. # draw to the plot window 
  4. grid.draw(rasterGrob(all_images[['vision']])) 

[[263794]]

獲得文本數據

數據由計算機科學家Elle O'Brien收集的,使用文本挖掘技術對電影劇本分析。

更正專有名稱的大寫:

  1. capitalize <- Vectorize(function(string){ 
  2.   substr(string,1,1) <- toupper(substr(string,1,1)) 
  3.   return(string) 
  4. }) 
  5. proper_noun_list <- c("clint","hydra","steve","tony", 
  6.                       "sam","stark","strucker","nat","natasha", 
  7.                       "hulk","tesseract", "vision", 
  8.                       "loki","avengers","rogers", "cap", "hill") 
  9. # Run the capitalization function 
  10. word_data <- word_data %>
  11.   mutate(word = ifelse(word %in% proper_noun_list, capitalize(word), word)) %>
  12.   mutate(word = ifelse(word == "jarvis", "JARVIS", word)) 

請注意,以前的簡版角色名字與文本dataframe格式中的角色不匹配。

  1. unique(word_data$Speaker) 
  2. ##  [1] "Black Panther"   "Black Widow"     "Bucky" 
  3. ##  [4] "Captain America" "Falcon"          "Hawkeye" 
  4. ##  [7] "Hulk"            "Iron Man"        "Loki" 
  5. ## [10] "Nick Fury"       "Rhodey"          "Scarlet Witch" 
  6. ## [13] "Spiderman"       "Thor"            "Ultron" 
  7. ## [16] "Vision" 

創建一個索引表,將文件名轉換為角色名。

  1. character_labeler <- c(`black_panther` = "Black Panther", 
  2.                        `black_widow` = "Black Widow", 
  3.                        `bucky` = "Bucky", 
  4.                        `captain_america` = "Captain America", 
  5.                        `falcon` = "Falcon", `hawkeye` = "Hawkeye", 
  6.                        `hulk` = "Hulk", `iron_man` = "Iron Man", 
  7.                        `loki` = "Loki", `nick_fury` = "Nick Fury", 
  8.                        `rhodey` = "Rhodey",`scarlet_witch` ="Scarlet Witch", 
  9.                        `spiderman`="Spiderman", `thor`="Thor", 
  10.                        `ultron` ="Ultron", `vision` ="Vision") 

有兩個不同版本的角色名,一個用于顯示(漂亮),一個用于索引(簡單)。

  1. convert_pretty_to_simple <- Vectorize(function(pretty_name){ 
  2.   # pretty_name = "Vision" 
  3.   simple_name <- names(character_labeler)[character_labeler==pretty_name] 
  4.   # simple_name <- as.vector(simple_name) 
  5.   return(simple_name) 
  6.  
  7. }) 
  8. # convert_pretty_to_simple(c("Vision","Thor")) 
  9. # just for fun, the inverse of that function 
  10. convert_simple_to_pretty <- function(simple_name){ 
  11.   # simple_name = "vision" 
  12.   pretty_name <- character_labeler[simple_name] %>% as.vector() 
  13.   return(pretty_name) 
  14. # example 
  15. convert_simple_to_pretty(c("vision","black_panther")) 
  1. ## [1] "Vision"        "Black Panther" 

將簡化的角色名稱添加到文本數據框架中。

  1. word_data$character <- convert_pretty_to_simple(word_data$Speaker) 

為每個角色指定主顏色:

  1. character_palette <- c(`black_panther` = "#51473E", 
  2.                        `black_widow` = "#89B9CD", 
  3.                        `bucky` = "#6F7279", 
  4.                        `captain_america` = "#475D6A", 
  5.                        `falcon` = "#863C43", `hawkeye` = "#84707F", 
  6.                        `hulk` = "#5F5F3F", `iron_man` = "#9C2728", 
  7.                        `loki` = "#3D5C25", `nick_fury` = "#838E86", 
  8.                        `rhodey` = "#38454E",`scarlet_witch` ="#620E1B", 
  9.                        `spiderman`="#A23A37", `thor`="#323D41", 
  10.                        `ultron` ="#64727D", `vision` ="#81414F" ) 

繪制條形圖☟

  1. avengers_bar_plot <- word_data %>
  2.   group_by(Speaker) %>
  3.   top_n(5, amount) %>
  4.   ungroup() %>
  5.   mutate(word = reorder(word, amount)) %>
  6.   ggplot(aes(x = wordy = amountfill = character))+ 
  7.   geom_bar(stat = "identity"show.legend = FALSE)+ 
  8.   scale_fill_manual(values = character_palette)+ 
  9.   scale_y_continuous(name ="Log Odds of Word"
  10.                      breaks = c(0,1,2)) + 
  11.   theme(text = element_text(family = "Franklin"), 
  12.         # axis.title.x = element_text(size = rel(1.5)), 
  13.         panel.grid = element_line(colour = NULL), 
  14.         panel.grid.major.y = element_blank(), 
  15.         panel.grid.minor = element_blank(), 
  16.         panel.background = element_rect(fill = "white"
  17.                                     colour = "white"))+ 
  18.   # theme(strip.text.x = element_text(size = rel(1.5)))+ 
  19.   xlab("")+ 
  20.   coord_flip()+ 
  21.   facet_wrap(~Speaker, scales = "free_y"
  22. avengers_bar_plot 

這已經非常漂亮了,但是還可以更漂亮。比如人物形象通過“線條”顯示出來。具體做法是將透明的條形圖全覆蓋,然后從端點向里繪制白色的條形圖,注意條形圖是能夠遮擋圖片的。

[[263795]]

在數據框架中,用達到總值所需的余數來補充數值,這樣當將值和余數組合在一起時,就會形成長度一致的線條組合。

  1. max_amount <- max(word_data$amount) 
  2. word_data$remainder <- (max_amount - word_data$amount) + 0.2 

每個英雄角色僅提取5個關鍵詞。

  1. word_data_top5 <- word_data %>
  2.   group_by(character) %>
  3.   arrange(desc(amount)) %>
  4.   slice(1:5) %>
  5.   ungroup() 

將“amount”和“remaining”的格式進行轉換:

[[263796]]

確保每個角色有兩個長條;一個用于顯示amount,另一個用于選擇結束位置。

這會將“amount”和“remaining”折疊成一個名為“variable”的列,指示它是哪個值,另一列“value”包含每個值中的數字。

  1. word_data_top5_m <- melt(word_data_top5, measure.vars = c("amount","remainder")) 

將這些條形圖放在有序因素中,與在數據融合中相反。否則,“amount”和“remainder”將在圖上以相反的順序顯示。

  1. word_data_top5_m$variable2 <- factor(word_data_top5_m$variable, 
  2.  
  3.                                      levels = rev(levels(word_data_top5_m$variable))) 

每個角色僅僅顯示五個詞匯

注意角色名稱的版本問題,例如采用“black_panther”而不是“Black Panther”。

  1. plot_char <- function(character_name){ 
  2.   # example: character_name = "black_panther" 
  3.   # plot details that we might want to fiddle with 
  4.   # thickness of lines between bars 
  1.  bar_outline_size <- 0.5 
  2.   # transparency of lines between bars 
  3.   bar_outline_alpha <- 0.25 
  4.   # 
  5.   # The function takes the simple character name, 
  6.   # but here, we convert it to the pretty name, 
  7.   # because we'll want to use that on the plot. 
  8.   pretty_character_name <- convert_simple_to_pretty(character_name) 
  9.  
  10.   # Get the image for this character, 
  11.   # from the list of all images. 
  12.   temp_image <- all_images[character_name] 
  13.   # Make a data frame for only this character 
  14.   temp_data <- word_data_top5_m %>
  15.     dplyr::filter(character == character_name) %>
  16.     mutate(character = character_name
  17.   # order the words by frequency 
  18.   # First, make an ordered vector of the most common words 
  19.   # for this character 
  20.     ordered_words <- temp_data %>
  21.       mutate(word = as.character(word)) %>
  22.       dplyr::filter(variable == "amount") %>
  23.       arrange(value) %>
  24.       `[[`(., "word") 
  25.  
  26.     # order the words in a factor, 
  27.     # so that they plot in this order, 
  28.     # rather than alphabetical order 
  29.     temp_data$word = factor(temp_data$word, levels = ordered_words
  30.  
  31.   # Get the max value, 
  32.   # so that the image scales out to the end of the longest bar 
  33.   max_value <- max(temp_data$value) 
  34.   fill_colors <- c(`remainder` = "white", `value` = "white") 
  35.   # Make a grid object out of the character's image 
  36.   character_image <- rasterGrob(all_images[[character_name]], 
  37.                                 width = unit(1,"npc"), 
  38.                                 height = unit(1,"npc")) 
  39.  
  40.   # make the plot for this character 
  41.   output_plot <- ggplot(temp_data)+ 
  42.     aes(x = wordy = valuefill = variable2)+ 
  43.     # add image 
  44.     # draw it completely bottom to top (x), 
  45.     # and completely from left to the the maximum log-odds value (y) 
  46.  
  47.     # note that x and y are flipped here, 
  48.     # in prep for the coord_flip() 
  49.     annotation_custom(character_image, 
  50.                       xmin = -Inf, xmax = Infymin = 0ymax = max_value) + 
  51.     geom_bar(stat = "identity"color = alpha("white", bar_outline_alpha), 
  52.              size = bar_outline_sizewidth = 1)+ 
  53.  
  54.     scale_fill_manual(values = fill_colors)+ 
  55.     theme_classic()+ 
  56.     coord_flip(expand = FALSE)+ 
  57.     # use a facet strip, 
  58.     # to serve as a title, but with color 
  59.     facet_grid(. ~ character, labellerlabeller = labeller(character = character_labeler))+ 
  60.     # figure out color swatch for the facet strip fill 
  61.     # using character name to index the color palette 
  62.     # colorNA means there's no outline color. 
  63.     theme(strip.background = element_rect(fill = character_palette[character_name], 
  64.                                           color = NA))+ 
  65.     # other theme elements 
  66.     theme(strip.text.x = element_text(size = rel(1.15), color = "white"), 
  67.           text = element_text(family = "Franklin"), 
  68.           legend.position = "none"
  69.           panel.grid = element_blank(), 
  70.           axis.text.x = element_text(size = rel(0.8)))+ 
  71.     # omit the axis title for the individual plot, 
  72.     # because we'll have one for the entire ensemble 
  73.     theme(axis.title = element_blank()) 
  74.   return(output_plot) 

單個角色是如何設置?

  1. sample_plot <- plot_char("black_panther")+ 
  2.   theme(axis.title = element_text())+ 
  3.   # x lab is still declared as y lab 
  4.   # because of coord_flip() 
  5.   ylab(plot_x_axis_text) 
  6. sample_plot 

橫軸為什么這么特殊?因為隨著數值的增加,條形圖會變得越來越高,因此需要轉換刻度。

如下所示☟

  1. logit2prob <- function(logit){ 
  2.   odds <- exp(logit) 
  3.   prob <- odds / (1 + odds) 
  4.   return(prob) 

…這就是這個軸的樣子:

  1. logit2prob(seq(0, 2.5, 0.5)) 
  1. ## [1] 0.5000000 0.6224593 0.7310586 0.8175745 0.8807971 0.9241418 

注意該列表中連續項之間的遞減差異:

  1. diff(logit2prob(seq(0, 2.5, 0.5))) 
  1. ## [1] 0.12245933 0.10859925 0.08651590 0.06322260 0.04334474 

好了,可以進行下一項了:探討一些細節,并把上面設置的函數應用到所有角色的列表中,并把所有的結果放入一個列表中。

  1. all_plots <- lapply(character_names, plot_char) 

從圖片中提取標題

  1. get_axis_grob <- function(plot_to_pick, which_axis){ 
  2.   # plot_to_pick <- sample_plot 
  3.   tmp <- ggplot_gtable(ggplot_build(plot_to_pick)) 
  4.   # tmp$grobs 
  5.   # find the grob that looks like 
  6.   # it would be the x axis 
  7.   axis_x_index <- which(sapply(tmp$grobs, function(x){ 
  8.     # for all the grobs, 
  9.     # return the index of the one 
  10.     # where you can find the text 
  11.     # "axis.title.x" or "axis.title.y" 
  12.     # based on input argument `which_axis` 
  13.     grepl(paste0("axis.title.",which_axis), x)} 
  14.   )) 
  15.   axis_grob <- tmp$grobs[[axis_x_index]] 
  16.   return(axis_grob) 

提取軸標題:

  1. px_axis_x <- get_axis_grob(sample_plot, "x") 
  2. px_axis_y <- get_axis_grob(sample_plot, "y") 

下面是如何使用提取出來的坐標軸:

  1. grid.newpage() 
  2. grid.draw(px_axis_x) 

  1. # grid.draw(px_axis_y) 

匯總所有的英雄:

  1. big_plot <- arrangeGrob(grobs = all_plots

加入圖注,注意圖和坐標軸的比例關系:

  1. big_plot_w_x_axis_title <- arrangeGrob(big_plot, 
  2.                                        px_axis_x, 
  3.                                        heights = c(10,1)) 
  4. grid.newpage() 
  5. grid.draw(big_plot_w_x_axis_title) 

因為詞匯的長度不同,這些圖表占用的頁面空間略有不同。

所以,這看起來有點亂。

一般來說,我們使用facet_grid()或facet_wrap()確保在繪圖的過程中保持整齊和對齊,這個項目中不再適用,因為每個都有自己的自定義背景圖像。

使用Cowplot而不是arrangebrob,讓圖片的軸垂直對齊:

  1. big_plot_aligned <- cowplot::plot_grid(plotlist = all_plotsalign = 'v'nrow = 4

增加X軸的標題,和之前類似,注意網格對齊:

  1. big_plot_w_x_axis_title_aligned <- arrangeGrob(big_plot_aligned, 
  2.                                                px_axis_x, 
  3.                                                heights = c(10,1)) 

然后,大功告成☟

然后,保存一下!

ggsave(big_plot_w_x_axis_title_aligned, file = "Avengers_Word_Usage.png", width = 12, height = 6.3)

相關報道:

  • https://towardsdatascience.com/i-analyzed-marvel-movie-scripts-to-learn-what-each-avenger-says-most-2e5e7b6105bf
  • http://mattwinn.com/Plot_Avengers_data.html

【本文是51CTO專欄機構大數據文摘的原創文章,微信公眾號“大數據文摘( id: BigDataDigest)”】

     大數據文摘二維碼

戳這里,看該作者更多好文

 

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2015-05-27 17:26:08

2012-05-16 10:33:39

2019-05-16 10:34:17

浪潮商用機器PowerIBM

2018-05-23 12:34:39

Python網絡爬蟲豆瓣電影

2015-05-15 19:41:16

騰訊云

2025-06-19 09:43:11

2019-04-12 09:24:46

Spring Clou服務注冊

2023-12-06 13:45:00

AI模型

2014-06-25 09:11:48

技術

2019-04-24 09:25:51

安全事故復聯

2021-08-16 17:36:16

黑客數據泄露網絡安全

2016-03-01 14:28:36

華為華為中國合作伙伴大會

2012-01-16 08:56:17

開發程序員

2023-11-07 08:36:34

JavaScriptJS挑戰

2015-10-28 11:01:56

創業公司抱團生存

2013-01-09 09:38:34

Java 8JDK8新版Java

2013-01-08 14:11:14

JavaJDK8lambda

2022-12-08 08:40:25

大數據Hadoop存儲

2019-03-24 15:01:08

蘋果發布會iPhone

2019-08-26 09:07:49

iPhone蘋果秋季發布會
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 美女一级毛片 | 日韩中文一区 | 中文字幕在线观看精品 | 黄色国产区| 性福视频在线观看 | 不卡视频一区二区三区 | 男人天堂视频在线观看 | 日韩第一区 | 99久久婷婷国产亚洲终合精品 | www.日本国产 | 欧美成人一区二区三区 | 在线观看亚洲专区 | 日韩精品视频在线观看一区二区三区 | 国产精品久久久久久久久久免费看 | 亚洲啊v在线 | 黄色免费观看网站 | 日日日日操 | 国产电影一区二区在线观看 | 日韩精品在线一区 | 黄色中文字幕 | 精品视频在线免费观看 | 羞羞视频在线网站观看 | 国产香蕉视频在线播放 | 国产区视频在线观看 | 欧洲成人午夜免费大片 | 日韩一区二区在线播放 | 欧美成人精品一区二区男人看 | 中文字幕91av | 亚洲一区二区三区国产 | 久久精品毛片 | 国产一区二区日韩 | 亚洲国产精品日本 | 另类亚洲视频 | 色网站入口 | 国产精品高清一区二区三区 | 精国产品一区二区三区四季综 | 日日草夜夜草 | 日韩成人免费视频 | 欧美综合精品 | 在线看亚洲 | 欧美日韩大片 |