精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何用Python解析HTML?

開發(fā) 后端 前端
用一些簡(jiǎn)單的腳本,可以很容易地清理文檔和其它大量的 HTML 文件。但是首先你需要解析它們。我決定為自己創(chuàng)建一個(gè)項(xiàng)目來(lái)解決這個(gè)問(wèn)題。 一種方法是搜索未使用的現(xiàn)有圖像文件。

如何用Python解析HTML?

用一些簡(jiǎn)單的腳本,可以很容易地清理文檔和其它大量的 HTML 文件。但是首先你需要解析它們。

作為 Scribus 文檔團(tuán)隊(duì)的長(zhǎng)期成員,我要隨時(shí)了解***的源代碼更新,以便對(duì)文檔進(jìn)行更新和補(bǔ)充。 我最近在剛升級(jí)到 Fedora 27 系統(tǒng)的計(jì)算機(jī)上使用 Subversion 進(jìn)行檢出操作時(shí),對(duì)于下載該文檔所需要的時(shí)間我感到很驚訝,文檔由 HTML 頁(yè)面和相關(guān)圖像組成。 我恐怕該項(xiàng)目的文檔看起來(lái)比項(xiàng)目本身大得多,并且懷疑其中的一些內(nèi)容是“僵尸”文檔——不再使用的 HTML 文件以及 HTML 中無(wú)法訪問(wèn)到的圖像。

我決定為自己創(chuàng)建一個(gè)項(xiàng)目來(lái)解決這個(gè)問(wèn)題。 一種方法是搜索未使用的現(xiàn)有圖像文件。 如果我可以掃描所有 HTML 文件中的圖像引用,然后將該列表與實(shí)際圖像文件進(jìn)行比較,那么我可能會(huì)看到不匹配的文件。

這是一個(gè)典型的圖像標(biāo)簽:

  1. <img src="images/edit_shapes.png" ALT="Edit examples" ALIGN=left>

我對(duì) src= 之后的***組引號(hào)之間的部分很感興趣。 在尋找了一些解決方案后,我找到一個(gè)名為 BeautifulSoup 的 Python 模塊。 腳本的核心部分如下所示:

  1. soup = BeautifulSoup(all_text, 'html.parser')
  2. match = soup.findAll("img")
  3. if len(match) > 0:
  4. for m in match:
  5. imagelist.append(str(m))

我們可以使用這個(gè) findAll 方法來(lái)挖出圖片標(biāo)簽。 這是一小部分輸出:

  1. <img src="images/pdf-form-ht3.png"/><img src="images/pdf-form-ht4.png"/><img src="images/pdf-form-ht5.png"/><img src="images/pdf-form-ht6.png"/><img align="middle" alt="GSview - Advanced Options Panel" src="images/gsadv1.png" title="GSview - Advanced Options Panel"/><img align="middle" alt="Scribus External Tools Preferences" src="images/gsadv2.png" title="Scribus External Tools Preferences"/>

到現(xiàn)在為止還挺好。我原以為下一步就可以搞定了,但是當(dāng)我在腳本中嘗試了一些字符串方法時(shí),它返回了有關(guān)標(biāo)記的錯(cuò)誤而不是字符串的錯(cuò)誤。 我將輸出保存到一個(gè)文件中,并在 KWrite 中進(jìn)行編輯。 KWrite 的一個(gè)好處是你可以使用正則表達(dá)式(regex)來(lái)做“查找和替換”操作,所以我可以用 \n<img 替換 <img,這樣可以看得更清楚。 KWrite 的另一個(gè)好處是,如果你用正則表達(dá)式做了一個(gè)不明智的選擇,你還可以撤消。

但我認(rèn)為,肯定有比這更好的東西,所以我轉(zhuǎn)而使用正則表達(dá)式,或者更具體地說(shuō) Python 的 re 模塊。 這個(gè)新腳本的相關(guān)部分如下所示:

  1. match = re.findall(r'src="(.*)/>', all_text)
  2. if len(match)>0:
  3. for m in match:
  4. imagelist.append(m)

它的一小部分輸出如下所示:

  1. images/cmcanvas.png" title="Context Menu for the document canvas" alt="Context Menu for the document canvas" /></td></tr></table><br images/eps-imp1.png" title="EPS preview in a file dialog" alt="EPS preview in a file dialog" images/eps-imp5.png" title="Colors imported from an EPS file" alt="Colors imported from an EPS file" images/eps-imp4.png" title="EPS font substitution" alt="EPS font substitution" images/eps-imp2.png" title="EPS import progress" alt="EPS import progress" images/eps-imp3.png" title="Bitmap conversion failure" alt="Bitmap conversion failure"

乍一看,它看起來(lái)與上面的輸出類似,并且附帶有去除圖像的標(biāo)簽部分的好處,但是有令人費(fèi)解的是還夾雜著表格標(biāo)簽和其他內(nèi)容。 我認(rèn)為這涉及到這個(gè)正則表達(dá)式 src="(.*)/>,這被稱為貪婪,意味著它不一定停止在遇到 /> 的***個(gè)實(shí)例。我應(yīng)該補(bǔ)充一點(diǎn),我也嘗試過(guò) src="(.*)",這真的沒有什么更好的效果,我不是一個(gè)正則表達(dá)式專家(只是做了這個(gè)),找了各種方法來(lái)改進(jìn)這一點(diǎn)但是并沒什么用。

做了一系列的事情之后,甚至嘗試了 Perl 的 HTML::Parser 模塊,最終我試圖將這與我為 Scribus 編寫的一些腳本進(jìn)行比較,這些腳本逐個(gè)字符的分析文本內(nèi)容,然后采取一些行動(dòng)。 為了最終目的,我終于想出了所有這些方法,并且完全不需要正則表達(dá)式或 HTML 解析器。 讓我們回到展示的那個(gè) img 標(biāo)簽的例子。

  1. <img src="images/edit_shapes.png" ALT="Edit examples" ALIGN=left>

我決定回到 src= 這一塊。 一種方法是等待 s 出現(xiàn),然后看下一個(gè)字符是否是 r,下一個(gè)是 c,下一個(gè)是否 =。 如果是這樣,那就匹配上了! 那么兩個(gè)雙引號(hào)之間的內(nèi)容就是我所需要的。 這種方法的問(wèn)題在于需要連續(xù)識(shí)別上面這樣的結(jié)構(gòu)。 一種查看代表一行 HTML 文本的字符串的方法是:

  1. for c in all_text:

但是這個(gè)邏輯太亂了,以至于不能持續(xù)匹配到前面的 c,還有之前的字符,更之前的字符,更更之前的字符。

***,我決定專注于 = 并使用索引方法,以便我可以輕松地引用字符串中的任何先前或?qū)?lái)的字符。 這里是搜索部分:

  1. index = 3
  2. while index < linelength:
  3. if (all_text[index] == '='):
  4. if (all_text[index-3] == 's') and (all_text[index-2] == 'r') and (all_text[index-1] == 'c'):
  5. imagefound(all_text, imagelist, index)
  6. index += 1
  7. else:
  8. index += 1
  9. else:
  10. index += 1

我用第四個(gè)字符開始搜索(索引從 0 開始),所以我在下面沒有出現(xiàn)索引錯(cuò)誤,并且實(shí)際上,在每一行的第四個(gè)字符之前不會(huì)有等號(hào)。 ***個(gè)測(cè)試是看字符串中是否出現(xiàn)了 =,如果沒有,我們就會(huì)前進(jìn)。 如果我們確實(shí)看到一個(gè)等號(hào),那么我們會(huì)看前三個(gè)字符是否是 src。 如果全都匹配了,就調(diào)用函數(shù) imagefound

  1. def imagefound(all_text, imagelist, index):
  2. end = 0
  3. index += 2
  4. newimage = ''
  5. while end == 0:
  6. if (all_text[index] != '"'):
  7. newimage = newimage + all_text[index]
  8. index += 1
  9. else:
  10. newimage = newimage + '\n'
  11. imagelist.append(newimage)
  12. end = 1
  13. return

我們給函數(shù)發(fā)送當(dāng)前索引,它代表著 =。 我們知道下一個(gè)字符將會(huì)是 ",所以我們跳過(guò)兩個(gè)字符,并開始向名為 newimage 的控制字符串添加字符,直到我們發(fā)現(xiàn)下一個(gè) ",此時(shí)我們完成了一次匹配。 我們將字符串加一個(gè)換行符(\n)添加到列表 imagelist 中并返回(return),請(qǐng)記住,在剩余的這個(gè) HTML 字符串中可能會(huì)有更多圖片標(biāo)簽,所以我們馬上回到搜索循環(huán)中。

以下是我們的輸出現(xiàn)在的樣子:

  1. images/text-frame-link.png
  2. images/text-frame-unlink.png
  3. images/gimpoptions1.png
  4. images/gimpoptions3.png
  5. images/gimpoptions2.png
  6. images/fontpref3.png
  7. images/font-subst.png
  8. images/fontpref2.png
  9. images/fontpref1.png
  10. images/dtp-studio.png

啊,干凈多了,而這只花費(fèi)幾秒鐘的時(shí)間。 我本可以將索引前移 7 步來(lái)剪切 images/ 部分,但我更愿意把這個(gè)部分保存下來(lái),以確保我沒有剪切掉圖像文件名的***個(gè)字母,這很容易用 KWrite 編輯成功 —— 你甚至不需要正則表達(dá)式。 做完這些并保存文件后,下一步就是運(yùn)行我編寫的另一個(gè)腳本 sortlist.py

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # sortlist.py
  4.  
  5. import os
  6.  
  7. imagelist = []
  8. for line in open('/tmp/imagelist_parse4.txt').xreadlines():
  9. imagelist.append(line)
  10.  
  11. imagelist.sort()
  12.  
  13. outfile = open('/tmp/imagelist_parse4_sorted.txt', 'w')
  14. outfile.writelines(imagelist)
  15. outfile.close()

這會(huì)讀取文件內(nèi)容,并存儲(chǔ)為列表,對(duì)其排序,然后另存為另一個(gè)文件。 之后,我可以做到以下幾點(diǎn):

  1. ls /home/gregp/development/Scribus15x/doc/en/images/*.png > '/tmp/actual_images.txt'

然后我需要在該文件上運(yùn)行 sortlist.py,因?yàn)?ls 方法的排序與 Python 不同。 我原本可以在這些文件上運(yùn)行比較腳本,但我更愿意以可視方式進(jìn)行操作。 ***,我成功找到了 42 個(gè)圖像,這些圖像沒有來(lái)自文檔的 HTML 引用。

這是我的完整解析腳本:

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # parseimg4.py
  4.  
  5. import os
  6.  
  7. def imagefound(all_text, imagelist, index):
  8. end = 0
  9. index += 2
  10. newimage = ''
  11. while end == 0:
  12. if (all_text[index] != '"'):
  13. newimage = newimage + all_text[index]
  14. index += 1
  15. else:
  16. newimage = newimage + '\n'
  17. imagelist.append(newimage)
  18. end = 1
  19. return
  20.  
  21. htmlnames = []
  22. imagelist = []
  23. tempstring = ''
  24. filenames = os.listdir('/home/gregp/development/Scribus15x/doc/en/')
  25. for name in filenames:
  26. if name.endswith('.html'):
  27. htmlnames.append(name)
  28. #print htmlnames
  29. for htmlfile in htmlnames:
  30. all_text = open('/home/gregp/development/Scribus15x/doc/en/' + htmlfile).read()
  31. linelength = len(all_text)
  32. index = 3
  33. while index < linelength:
  34. if (all_text[index] == '='):
  35. if (all_text[index-3] == 's') and (all_text[index-2] == 'r') and
  36. (all_text[index-1] == 'c'):
  37. imagefound(all_text, imagelist, index)
  38. index += 1
  39. else:
  40. index += 1
  41. else:
  42. index += 1
  43.  
  44. outfile = open('/tmp/imagelist_parse4.txt', 'w')
  45. outfile.writelines(imagelist)
  46. outfile.close()
  47. imageno = len(imagelist)
  48. print str(imageno) + " images were found and saved"

腳本名稱為 parseimg4.py,這并不能真實(shí)反映我陸續(xù)編寫的腳本數(shù)量(包括微調(diào)的和大改的以及丟棄并重新開始寫的)。 請(qǐng)注意,我已經(jīng)對(duì)這些目錄和文件名進(jìn)行了硬編碼,但是很容易變得通用化,讓用戶輸入這些信息。 同樣,因?yàn)樗鼈兪枪ぷ髂_本,所以我將輸出發(fā)送到 /tmp 目錄,所以一旦重新啟動(dòng)系統(tǒng),它們就會(huì)消失。

這不是故事的結(jié)尾,因?yàn)橄乱粋€(gè)問(wèn)題是:僵尸 HTML 文件怎么辦? 任何未使用的文件都可能會(huì)引用圖像,不能被前面的方法所找出。 我們有一個(gè) menu.xml 文件作為聯(lián)機(jī)手冊(cè)的目錄,但我還需要考慮 TOC(LCTT 譯注:TOC 是 table of contents 的縮寫)中列出的某些文件可能引用了不在 TOC 中的文件,是的,我確實(shí)找到了一些這樣的文件。

***我可以說(shuō),這是一個(gè)比圖像搜索更簡(jiǎn)單的任務(wù),而且開發(fā)的過(guò)程對(duì)我有很大的幫助。 

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2023-12-30 13:33:36

Python解析器JSON

2020-07-10 09:49:53

數(shù)據(jù)清理數(shù)據(jù)分析查找異常

2023-02-08 07:09:40

PythonChatGPT語(yǔ)言模型

2022-12-02 08:17:27

JavaHTML標(biāo)簽

2011-12-31 14:24:13

2019-11-28 09:23:17

Python機(jī)器學(xué)習(xí)數(shù)據(jù)庫(kù)

2020-05-09 10:38:31

Python透視表數(shù)據(jù)

2018-05-17 10:05:24

運(yùn)行iPadPython

2020-12-10 10:46:23

PythonExcel圖片

2023-07-05 16:07:02

JavaScriptWeb 應(yīng)用程序

2021-06-02 15:10:20

PythonScrapy視頻

2020-11-06 17:42:02

Python開發(fā)工具

2017-06-29 11:11:17

2019-08-01 15:08:37

PythonLine操作系統(tǒng)

2020-10-10 08:49:02

JS

2020-10-10 08:01:38

JS HTML 表單

2021-07-20 09:45:58

PythonEV短視頻

2018-05-13 21:34:00

Python妹子網(wǎng)頁(yè)

2021-05-07 13:20:39

Python機(jī)器人編程語(yǔ)言

2019-01-15 14:21:13

Python數(shù)據(jù)分析數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

欧美三级美国一级| 国内外成人免费视频| 亚洲制服欧美久久| 91精品又粗又猛又爽| 青青操在线视频| 91精品啪在线观看国产爱臀 | 91精品国产91久久久久久密臀| 亚洲高清免费视频| 成人免费观看网址| www.av欧美| 国产精品13p| 国产乱子伦视频一区二区三区| 亚洲深夜福利在线| 免费无码毛片一区二三区| 国产v在线观看| 91中文字幕精品永久在线| 在线观看不卡视频| 日本婷婷久久久久久久久一区二区| 国产特黄大片aaaa毛片| 精品中国亚洲| 亚洲1区2区3区视频| 99蜜桃在线观看免费视频网站| av资源在线免费观看| www.成人爱| 久久这里都是精品| 欧美在线视频免费播放| 波多野结衣影院| 国产ktv在线视频| |精品福利一区二区三区| 91精品久久久久久久久| 日韩三级在线观看视频| 免费观看在线一区二区三区| 自拍偷拍国产精品| 日本一区视频在线观看| 亚洲视频在线免费播放| 视频在线不卡免费观看| 亚洲乱码一区二区| 五月婷婷激情久久| 欧美jizzhd69巨大| 国产高清成人在线| 久久久亚洲天堂| 中国黄色a级片| 亚洲成av在线| 亚洲人成网站色在线观看| 亚洲一区二区三区毛片| 精品肉丝脚一区二区三区| 久久99偷拍| 精品国产伦一区二区三区观看体验| 欧美午夜小视频| 毛片免费在线播放| 精品在线一区二区三区| 欧美大片在线免费观看| 182在线视频| 91麻豆精品激情在线观看最新| 欧美日韩国产一中文字不卡 | 国产影视一区| 欧洲生活片亚洲生活在线观看| 极品美女扒开粉嫩小泬| 爱啪视频在线观看视频免费| 亚洲成年人网站在线观看| 国产欧美日韩小视频| 韩国福利在线| 国产成人免费在线视频| 3d动漫精品啪啪一区二区三区免费 | 成人另类视频| 亚洲国产成人爱av在线播放| 韩国一区二区av| а√天堂官网中文在线| 2017欧美狠狠色| 欧美日韩精品一区| xxxx国产精品| 日韩极品在线观看| 久久97久久97精品免视看| 91精品人妻一区二区| 国产一区二区久久久久| 欧美性极品xxxx做受| 中文字幕久久综合| 日色在线视频| 国产欧美精品一区| 国产精品一 二 三| 国产欧美熟妇另类久久久| 久久欧美肥婆一二区| 欧美福利视频在线观看| 五月天婷婷丁香| 欧美大人香蕉在线| 欧美巨乳在线观看| 日韩精品视频免费播放| 久久狠狠婷婷| 97精品免费视频| 欧美三根一起进三p| 九九视频精品全部免费播放| 精品久久久久久无| 黄色a级三级三级三级| 偷拍精品精品一区二区三区| 亚洲国产综合视频在线观看| 中文字幕一区二区三区四区五区六区 | 777777av| 亚洲青青久久| 日本道免费精品一区二区三区| 国产精品国三级国产av| 黄色免费在线观看| 国产女人18水真多18精品一级做| 亚洲美女网站18| 九色在线播放| 亚洲毛片av在线| 中文字幕日韩精品久久| h片精品在线观看| 一区二区三区91| 在线观看av的网址| 菠萝菠萝蜜在线视频免费观看| 午夜视黄欧洲亚洲| 91 视频免费观看| 亚洲精品三区| 亚洲精品自拍视频| 中文字幕乱视频| 不卡av一区二区| 97成人在线视频| 久久一区二区三区视频| 亚洲国内精品| 77777少妇光屁股久久一区| 一级aaaa毛片| 国产欧美综合在线| 国产一区二区在线视频播放| 久草在线资源站手机版| 五月天久久比比资源色| 国产婷婷一区二区三区| 日韩美女在线| 欧美一级理论片| 国产成人精品一区二区三区在线观看| 日韩在线观看一区二区三区| 精品久久久久久最新网址| jizz日本在线播放| 欧美丝袜一区| 91chinesevideo永久地址| 国产福利资源在线| 中文字幕亚洲一区二区av在线 | 91精品久久久久久久久久| 久久经典视频| 在线视频欧美精品| 亚洲黄色小说视频| 欧美顶级大胆免费视频| 国产精品成av人在线视午夜片| 无码一区二区三区| 看国产成人h片视频| 91久久国产综合久久蜜月精品| 伊人在线视频| 亚洲一区免费在线观看| 91欧美一区二区三区| 风间由美中文字幕在线看视频国产欧美 | |精品福利一区二区三区| 深夜黄色小视频| 日韩黄色大片网站| 欧美大片大片在线播放| 国产99久一区二区三区a片| 亚洲天堂中文字幕| 欧美体内she精高潮| 国产精品久久久久久久久妇女| 久久久久久久久网站| 午夜精品一区二| 久久久久久久综合日本| 黄色污污在线观看| 久久久91麻豆精品国产一区| 九色精品美女在线| 国产成人三级在线观看视频| 国产欧美精品一区| 污污网站免费观看| 青青操综合网| 久久精品国产91精品亚洲| 日本污视频在线观看| 成人av网址在线| 一本一本久久a久久精品综合妖精| 小明成人免费视频一区| 亚洲аv电影天堂网| 日韩成人免费在线观看| 久久综合丝袜日本网| 国产成人综合一区| 久久97精品| 日本久久久久久| 精品国产18久久久久久| 亚洲成人动漫一区| 国产女主播喷水高潮网红在线| 日本大胆欧美人术艺术动态| 国内视频一区二区| 欧美国产日韩电影| 欧美激情奇米色| 久色视频在线| 日韩精品一区二| 日韩va亚洲va欧美va清高| 日本不卡的三区四区五区| 中文一区一区三区免费| 韩国精品福利一区二区三区| 日本精品久久电影| 免费a级毛片在线播放| 亚洲电影中文字幕| 一级特黄特色的免费大片视频| 久久综合成人精品亚洲另类欧美 | 国产精品亚洲一区二区三区妖精| 男人和女人啪啪网站| 国产精品成久久久久| 国产在线精品一区| 亚洲精品一区av| 日韩av电影国产| 日日夜夜天天综合入口| 欧美三片在线视频观看| 亚洲国产欧美视频| 狠狠色综合日日| 国产精品久久成人免费观看| 久久夜夜久久| 深夜精品寂寞黄网站在线观看| 波多野结衣一区二区三区四区| 久久综合久久综合亚洲| www.亚洲自拍| 日韩 欧美一区二区三区| 福利视频一二区| 亚洲国产精品成人| 日韩中文字幕一区| 日韩mv欧美mv国产网站| 热久久视久久精品18亚洲精品| 五月天婷婷在线视频| 国产丝袜一区二区三区| 欧美一级特黄aaaaaa| 午夜亚洲国产au精品一区二区| 中文字幕观看av| 国产乱码精品一区二区三区五月婷| 漂亮人妻被中出中文字幕| 秋霞影视一区二区三区| 91超碰在线免费观看| 欧美aaaaaa| 国产精品欧美日韩| 好吊日视频在线观看| 在线国产精品播放| 一区二区三区亚洲视频| 一本久久a久久免费精品不卡| 1024手机在线观看你懂的| 久久电影网站中文字幕| 免费观看成人网| 欧美亚洲一区二区三区| 亚洲 国产 欧美一区| 四虎影视国产精品| 国产精品久久久久久久久久尿| 在线观看特色大片免费视频| 中文字幕欧美精品在线 | 欧美精品一区二区三区蜜臀| 国产免费黄色大片| 欧美一区中文字幕| 亚洲一区 视频| 亚洲午夜免费电影| 久视频在线观看| 亚洲线精品一区二区三区八戒| www.色小姐com| 一级特黄大欧美久久久| 欧美精品一区二区成人| 91麻豆国产自产在线观看| 中文字幕欧美人妻精品一区| 久久xxxx| 9久久婷婷国产综合精品性色| 亚洲精品97| 欧美日韩中文字幕在线播放 | 亚洲精品自在在线观看| 99热国内精品永久免费观看| 99精品一级欧美片免费播放| 五月天激情综合网| 国产青草视频在线观看| 在线日韩电影| 欧美视频第一区| 免费亚洲电影在线| 99久久免费观看| 亚洲精品视频啊美女在线直播| 国产乱子伦农村叉叉叉| 老牛国产精品一区的观看方式| 亚洲国产精品三区| 国产麻豆成人精品| 国产a级黄色片| 国产午夜精品一区二区| 涩视频在线观看| 久草中文综合在线| 亚洲 自拍 另类 欧美 丝袜| 久久成人精品| 97超碰人人爽| 日韩电影一二三区| caoporm在线视频| 成人一区在线看| 91性高潮久久久久久久| 成人精品视频一区| 亚洲自拍偷拍图| 久久综合九色欧美综合狠狠 | 亚洲一区二区三区四区的| 黑人一级大毛片| 亚洲欧美视频一区| 日韩精品一区二区三| 91国偷自产一区二区使用方法| 国产女同91疯狂高潮互磨| 日韩av在线资源| 欧美一级视频免费| 中文字幕精品网| 第一av在线| 欧美激情2020午夜免费观看| 三级中文字幕在线观看| 成人黄色生活片| 亚洲精品无吗| 久久综合福利| 私拍精品福利视频在线一区| 亚洲一区二区三区精品动漫| 亚洲激情亚洲| 黄色aaaaaa| 国产亚洲精品中文字幕| 久久中文字幕无码| 欧美日韩综合一区| 天堂中文字幕在线| 亚洲摸下面视频| av免费网站在线| 欧美激情成人在线视频| 69堂免费精品视频在线播放| 国产成人精品久久| 午夜欧美巨大性欧美巨大 | 日韩欧美黄色| 草草草视频在线观看| 看片的网站亚洲| 永久免费毛片在线观看| 狠狠色噜噜狠狠狠狠97| 成人av手机在线| 不卡中文字幕av| 超碰人人在线| 国产欧美日韩精品专区| 亚洲欧美在线综合| 日本一区二区三区免费观看| 99视频精品| 蜜臀视频一区二区三区| 波多野结衣一区二区三区| 朝桐光av在线| 宅男在线国产精品| 精品人妻伦一二三区久久| 色噜噜亚洲精品中文字幕| 国产成人免费9x9x人网站视频| 欧美精品一区二区视频| 亚洲乱亚洲高清| 日本少妇毛茸茸| 欧美日韩国产精品一区二区不卡中文| www.日韩在线观看| 久久91亚洲精品中文字幕| 日韩精品视频中文字幕| 欧美日韩dvd| 国产黄人亚洲片| 九九九久久久久| 日韩三级中文字幕| 欧美日韩经典丝袜| 国产不卡精品视男人的天堂| 思热99re视热频这里只精品| a√天堂在线观看| 韩国v欧美v日本v亚洲v| 熟女少妇a性色生活片毛片| 欧美日韩成人在线| 视频一区二区免费| 中文字幕久久亚洲| 久久69成人| 中文字幕一区二区三区四区五区| 狠狠狠色丁香婷婷综合激情| 中文字幕另类日韩欧美亚洲嫩草| 欧美一级二级三级蜜桃| 国产经典三级在线| 久久久综合香蕉尹人综合网| 99久久婷婷| www.色.com| 亚洲成人免费视| 黄色网址在线播放| 成人av资源在线播放| 国内精品久久久久久久97牛牛 | 国产亚洲高清在线观看| 日本一级黄视频| 99久久国产综合精品麻豆| 国产成人久久久久| 亚洲成人xxx| 精品国产第一福利网站| 亚洲一区二区三区乱码| 高清久久久久久| 国产aaaaaaaaa| 日韩精品一区二区在线观看| 蜜桃视频动漫在线播放| 日韩欧美一区二区在线观看| 国内精品伊人久久久久影院对白| 久久久久久久蜜桃| 亚洲视频在线观看| 麻豆国产精品| 欧美三级午夜理伦三级| 国产一区二区三区91| 国产日韩欧美黄色| 欧美r级电影| 秘密基地免费观看完整版中文| 91成人在线精品| 在线视频国产区| 欧美一区三区二区在线观看| 国产一区二区伦理| 欧美丰满美乳xxⅹ高潮www| 91精品国产综合久久福利软件 | 国产精品日韩欧美| 午夜日韩视频| www.这里只有精品| 亚洲一区二区三区影院| 午夜激情在线观看| 久久国产欧美精品|