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

2019 網絡爬蟲和相關工具

開發 開發工具
網絡爬蟲(web crawler),以前經常稱之為網絡蜘蛛(spider),是按照一定的規則自動瀏覽萬維網并獲取信息的機器人程序(或腳本),曾經被廣泛的應用于互聯網搜索引擎。

 [[267706]]

網絡爬蟲

網絡爬蟲(web crawler),以前經常稱之為網絡蜘蛛(spider),是按照一定的規則自動瀏覽萬維網并獲取信息的機器人程序(或腳本),曾經被廣泛的應用于互聯網搜索引擎。使用過互聯網和瀏覽器的人都知道,網頁中除了供用戶閱讀的文字信息之外,還包含一些超鏈接。網絡爬蟲系統正是通過網頁中的超鏈接信息不斷獲得網絡上的其它頁面。正因如此,網絡數據采集的過程就像一個爬蟲或者蜘蛛在網絡上漫游,所以才被形象的稱為網絡爬蟲或者網絡蜘蛛。

爬蟲的應用領域

在理想的狀態下,所有ICP(Internet Content Provider)都應該為自己的網站提供API接口來共享它們允許其他程序獲取的數據,在這種情況下爬蟲就不是必需品,國內比較有名的電商平臺(如淘寶、京東等)、社交平臺(如騰訊微博等)等網站都提供了自己的Open API,但是這類Open API通常會對可以抓取的數據以及抓取數據的頻率進行限制。對于大多數的公司而言,及時的獲取行業相關數據是企業生存的重要環節之一,然而大部分企業在行業數據方面的匱乏是其與生俱來的短板,合理的利用爬蟲來獲取數據并從中提取出有商業價值的信息是至關重要的。當然爬蟲還有很多重要的應用領域,下面列舉了其中的一部分:

  1. 搜索引擎
  2. 新聞聚合
  3. 社交應用
  4. 輿情監控
  5. 行業數據

合法性和背景調研

爬蟲合法性探討

網絡爬蟲領域目前還屬于拓荒階段,雖然互聯網世界已經通過自己的游戲規則建立起一定的道德規范(Robots協議,全稱是“網絡爬蟲排除標準”),但法律部分還在建立和完善中,也就是說,現在這個領域暫時還是灰色地帶。

“法不禁止即為許可”,如果爬蟲就像瀏覽器一樣獲取的是前端顯示的數據(網頁上的公開信息)而不是網站后臺的私密敏感信息,就不太擔心法律法規的約束,因為目前大數據產業鏈的發展速度遠遠超過了法律的完善程度。

在爬取網站的時候,需要限制自己的爬蟲遵守Robots協議,同時控制網絡爬蟲程序的抓取數據的速度;在使用數據的時候,必須要尊重網站的知識產權(從Web 2.0時代開始,雖然Web上的數據很多都是由用戶提供的,但是網站平臺是投入了運營成本的,當用戶在注冊和發布內容時,平臺通常就已經獲得了對數據的所有權、使用權和分發權)。如果違反了這些規定,在打官司的時候敗訴幾率相當高。

Robots.txt文件

大多數網站都會定義robots.txt文件,下面以淘寶的robots.txt文件為例,看看該網站對爬蟲有哪些限制。

  1. User-agent:  Baiduspider 
  2. Allow:  /article 
  3. Allow:  /oshtml 
  4. Disallow:  /product/ 
  5. Disallow:  / 
  6.  
  7. User-Agent:  Googlebot 
  8. Allow:  /article 
  9. Allow:  /oshtml 
  10. Allow:  /product 
  11. Allow:  /spu 
  12. Allow:  /dianpu 
  13. Allow:  /oversea 
  14. Allow:  /list 
  15. Disallow:  / 
  16.  
  17. User-agent:  Bingbot 
  18. Allow:  /article 
  19. Allow:  /oshtml 
  20. Allow:  /product 
  21. Allow:  /spu 
  22. Allow:  /dianpu 
  23. Allow:  /oversea 
  24. Allow:  /list 
  25. Disallow:  / 
  26.  
  27. User-Agent:  360Spider 
  28. Allow:  /article 
  29. Allow:  /oshtml 
  30. Disallow:  / 
  31.  
  32. User-Agent:  Yisouspider 
  33. Allow:  /article 
  34. Allow:  /oshtml 
  35. Disallow:  / 
  36.  
  37. User-Agent:  Sogouspider 
  38. Allow:  /article 
  39. Allow:  /oshtml 
  40. Allow:  /product 
  41. Disallow:  / 
  42.  
  43. User-Agent:  Yahoo!  Slurp 
  44. Allow:  /product 
  45. Allow:  /spu 
  46. Allow:  /dianpu 
  47. Allow:  /oversea 
  48. Allow:  /list 
  49. Disallow:  / 
  50.  
  51. User-Agent:  * 
  52. Disallow:  / 

注意上面robots.txt第一段的最后一行,通過設置“Disallow: /”禁止百度爬蟲訪問除了“Allow”規定頁面外的其他所有頁面。因此當你在百度搜索“淘寶”的時候,搜索結果下方會出現:“由于該網站的robots.txt文件存在限制指令(限制搜索引擎抓取),系統無法提供該頁面的內容描述”。百度作為一個搜索引擎,至少在表面上遵守了淘寶網的robots.txt協議,所以用戶不能從百度上搜索到淘寶內部的產品信息。

 

相關工具介紹

HTTP協議

在開始講解爬蟲之前,我們稍微對HTTP(超文本傳輸協議)做一些回顧,因為我們在網頁上看到的內容通常是瀏覽器執行HTML語言得到的結果,而HTTP就是傳輸HTML數據的協議。HTTP和其他很多應用級協議一樣是構建在TCP(傳輸控制協議)之上的,它利用了TCP提供的可靠的傳輸服務實現了Web應用中的數據交換。按照維基百科上的介紹,設計HTTP最初的目的是為了提供一種發布和接收HTML頁面的方法,也就是說這個協議是瀏覽器和Web服務器之間傳輸的數據的載體。關于這個協議的詳細信息以及目前的發展狀況,大家可以閱讀阮一峰老師的《HTTP 協議入門》、《互聯網協議入門》系列以及《圖解HTTPS協議》進行了解,下圖是我在四川省網絡通信技術重點實驗室工作期間用開源協議分析工具Ethereal(抓包工具WireShark的前身)截取的訪問百度首頁時的HTTP請求和響應的報文(協議數據),由于Ethereal截取的是經過網絡適配器的數據,因此可以清晰的看到從物理鏈路層到應用層的協議數據。

HTTP請求(請求行+請求頭+空行+[消息體]):

 

HTTP響應(響應行+響應頭+空行+消息體):

 

說明:但愿這兩張如同泛黃的照片般的截圖幫助你大概的了解到HTTP是一個怎樣的協議。

相關工具

1.Chrome Developer Tools:谷歌瀏覽器內置的開發者工具。

 

2.POSTMAN:功能強大的網頁調試與RESTful請求工具。

 

3.

4.HTTPie:命令行HTTP客戶端。

  1. $ http --header http://www.scu.edu.cn 
  2. HTTP/1.1 200 OK 
  3. Accept-Ranges: bytes 
  4. Cache-Control: private, max-age=600 
  5. Connection: Keep-Alive 
  6. Content-Encoding: gzip 
  7. Content-Language: zh-CN 
  8. Content-Length: 14403 
  9. Content-Type: text/html 
  10. Date: Sun, 27 May 2018 15:38:25 GMT 
  11. ETag: "e6ec-56d3032d70a32-gzip" 
  12. Expires: Sun, 27 May 2018 15:48:25 GMT 
  13. Keep-Alive: timeout=5, max=100 
  14. Last-Modified: Sun, 27 May 2018 13:44:22 GMT 
  15. Server: VWebServer 
  16. Vary: User-Agent,Accept-Encoding 
  17. X-Frame-Options: SAMEORIGIN 

5.BuiltWith:識別網站所用技術的工具。

  1. >>> import builtwith 
  2. >>> builtwith.parse('http://www.bootcss.com/'
  3. {'web-servers': ['Nginx'], 'font-scripts': ['Font Awesome'], 'javascript-frameworks': ['Lo-dash''Underscore.js''Vue.js''Zepto''jQuery'], 'web-frameworks': ['Twitter Bootstrap']} 
  4. >>> 
  5. >>> import ssl 
  6. >>> ssl._create_default_https_context = ssl._create_unverified_context 
  7. >>> builtwith.parse('https://www.jianshu.com/'
  8. {'web-servers': ['Tengine'], 'web-frameworks': ['Twitter Bootstrap''Ruby on Rails'], 'programming-languages': ['Ruby']} 

6.python-whois:查詢網站所有者的工具。

  1. >>> import whois 
  2. >>> whois.whois('baidu.com'
  3. {'domain_name': ['BAIDU.COM''baidu.com'], 'registrar''MarkMonitor, Inc.''whois_server''whois.markmonitor.com''referral_url': None, 'updated_date': [datetime.datetime(2017, 7, 28, 2, 36, 28), datetime.datetime(2017, 7, 27, 19, 36, 28)], 'creation_date': [datetime.datetime(1999, 10, 11, 11, 5, 17), datetime.datetime(1999, 10, 11, 4, 5, 17)], 'expiration_date': [datetime.datetime(2026, 10, 11, 11, 5, 17), datetime.datetime(2026, 10, 11, 0, 0)], 'name_servers': ['DNS.BAIDU.COM''NS2.BAIDU.COM''NS3.BAIDU.COM''NS4.BAIDU.COM''NS7.BAIDU.COM''dns.baidu.com''ns4.baidu.com''ns3.baidu.com''ns7.baidu.com''ns2.baidu.com'], 'status': ['clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited''clientTransferProhibited https://icann.org/epp#clientTransferProhibited''clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited''serverDeleteProhibited https://icann.org/epp#serverDeleteProhibited''serverTransferProhibited https://icann.org/epp#serverTransferProhibited''serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited''clientUpdateProhibited (https://www.icann.org/epp#clientUpdateProhibited)''clientTransferProhibited (https://www.icann.org/epp#clientTransferProhibited)''clientDeleteProhibited (https://www.icann.org/epp#clientDeleteProhibited)''serverUpdateProhibited (https://www.icann.org/epp#serverUpdateProhibited)''serverTransferProhibited (https://www.icann.org/epp#serverTransferProhibited)''serverDeleteProhibited (https://www.icann.org/epp#serverDeleteProhibited)'], 'emails': ['abusecomplaints@markmonitor.com''whoisrelay@markmonitor.com'], 'dnssec''unsigned''name': None, 'org''Beijing Baidu Netcom Science Technology Co., Ltd.''address': None, 'city': None, 'state''Beijing''zipcode': None, 'country''CN'

7.robotparser:解析robots.txt的工具。

  1. >>> from urllib import robotparser 
  2. >>> parser = robotparser.RobotFileParser() 
  3. >>> parser.set_url('https://www.taobao.com/robots.txt'
  4. >>> parser.read() 
  5. >>> parser.can_fetch('Hellokitty''http://www.taobao.com/article'
  6. False 
  7. >>> parser.can_fetch('Baiduspider''http://www.taobao.com/article'
  8. True 
  9. >>> parser.can_fetch('Baiduspider''http://www.taobao.com/product'
  10. False 

一個簡單的爬蟲

一個基本的爬蟲通常分為數據采集(網頁下載)、數據處理(網頁解析)和數據存儲(將有用的信息持久化)三個部分的內容,當然更為高級的爬蟲在數據采集和處理時會使用并發編程或分布式技術,這就需要有調度器(安排線程或進程執行對應的任務)、后臺管理程序(監控爬蟲的工作狀態以及檢查數據抓取的結果)等的參與。

 

一般來說,爬蟲的工作流程包括以下幾個步驟:

  1. 設定抓取目標(種子頁面/起始頁面)并獲取網頁。
  2. 當服務器無法訪問時,按照指定的重試次數嘗試重新下載頁面。
  3. 在需要的時候設置用戶代理或隱藏真實IP,否則可能無法訪問頁面。
  4. 對獲取的頁面進行必要的解碼操作然后抓取出需要的信息。
  5. 在獲取的頁面中通過某種方式(如正則表達式)抽取出頁面中的鏈接信息。
  6. 對鏈接進行進一步的處理(獲取頁面并重復上面的動作)。
  7. 將有用的信息進行持久化以備后續的處理。

下面的例子給出了一個從“搜狐體育”上獲取NBA新聞標題和鏈接的爬蟲。

  1. from urllib.error import URLError 
  2. from urllib.request import urlopen 
  3.  
  4. import re 
  5. import pymysql 
  6. import ssl 
  7.  
  8. from pymysql import Error 
  9.  
  10.  
  11. # 通過指定的字符集對頁面進行解碼(不是每個網站都將字符集設置為utf-8) 
  12. def decode_page(page_bytes, charsets=('utf-8',)): 
  13.     page_html = None 
  14.     for charset in charsets: 
  15.         try: 
  16.             page_html = page_bytes.decode(charset) 
  17.             break 
  18.         except UnicodeDecodeError: 
  19.             pass 
  20.             # logging.error('Decode:', error) 
  21.     return page_html 
  22.  
  23.  
  24. # 獲取頁面的HTML代碼(通過遞歸實現指定次數的重試操作) 
  25. def get_page_html(seed_url, *, retry_times=3, charsets=('utf-8',)): 
  26.     page_html = None 
  27.     try: 
  28.         page_html = decode_page(urlopen(seed_url).read(), charsets) 
  29.     except URLError: 
  30.         # logging.error('URL:', error) 
  31.         if retry_times > 0: 
  32.             return get_page_html(seed_url, retry_times=retry_times - 1, 
  33.                                  charsets=charsets) 
  34.     return page_html 
  35.  
  36.  
  37. # 從頁面中提取需要的部分(通常是鏈接也可以通過正則表達式進行指定) 
  38. def get_matched_parts(page_html, pattern_str, pattern_ignore_case=re.I): 
  39.     pattern_regex = re.compile(pattern_str, pattern_ignore_case) 
  40.     return pattern_regex.findall(page_html) if page_html else [] 
  41.  
  42.  
  43. # 開始執行爬蟲程序并對指定的數據進行持久化操作 
  44. def start_crawl(seed_url, match_pattern, *, max_depth=-1): 
  45.     conn = pymysql.connect(host='localhost', port=3306, 
  46.                            database='crawler'user='root'
  47.                            password='123456', charset='utf8'
  48.     try: 
  49.         with conn.cursor() as cursor
  50.             url_list = [seed_url] 
  51.             # 通過下面的字典避免重復抓取并控制抓取深度 
  52.             visited_url_list = {seed_url: 0} 
  53.             while url_list: 
  54.                 current_url = url_list.pop(0) 
  55.                 depth = visited_url_list[current_url] 
  56.                 if depth != max_depth: 
  57.                     # 嘗試用utf-8/gbk/gb2312三種字符集進行頁面解碼 
  58.                     page_html = get_page_html(current_url, charsets=('utf-8''gbk''gb2312')) 
  59.                     links_list = get_matched_parts(page_html, match_pattern) 
  60.                     param_list = [] 
  61.                     for link in links_list: 
  62.                         if link not in visited_url_list: 
  63.                             visited_url_list[link] = depth + 1 
  64.                             page_html = get_page_html(link, charsets=('utf-8''gbk''gb2312')) 
  65.                             headings = get_matched_parts(page_html, r'<h1>(.*)<span'
  66.                             if headings: 
  67.                                 param_list.append((headings[0], link)) 
  68.                     cursor.executemany('insert into tb_result values (default, %s, %s)'
  69.                                        param_list) 
  70.                     conn.commit() 
  71.     except Error: 
  72.         pass 
  73.         # logging.error('SQL:', error) 
  74.     finally: 
  75.         conn.close() 
  76.  
  77.  
  78. def main(): 
  79.     ssl._create_default_https_context = ssl._create_unverified_context 
  80.     start_crawl('http://sports.sohu.com/nba_a.shtml'
  81.                 r'<a[^>]+test=a\s[^>]*href=["\'](.*?)["\']'
  82.                 max_depth=2) 
  83.  
  84.  
  85. if __name__ == '__main__'
  86.     main() 

由于使用了MySQL實現持久化操作,所以要先啟動MySQL服務器再運行該程序。

責任編輯:武曉燕 來源: 開源測試聯盟
相關推薦

2024-07-02 11:32:38

2024-11-22 16:06:21

2010-06-13 14:47:15

2018-01-30 18:15:12

Python網絡爬蟲gevent

2018-02-23 14:30:13

2010-06-29 15:51:22

Linux SNMP協

2018-05-14 15:27:06

Python網絡爬蟲爬蟲架構

2019-01-30 11:37:14

深度學習工具人工智能

2023-06-01 13:15:23

2022-09-20 07:02:20

網絡爬蟲反爬蟲

2019-11-14 07:20:19

惡意軟件網絡安全勒索軟件

2019-03-25 05:38:34

絡犯罪惡意軟件網絡安全

2022-08-08 11:53:51

數據沿襲數據

2019-06-28 08:56:35

編程語言框架工具

2024-11-27 06:31:02

2012-06-13 17:38:57

2010-04-20 11:40:52

網絡爬蟲

2011-03-09 10:07:56

網絡爬蟲Java

2019-03-19 15:32:26

Hyper-V監控工具虛擬化

2010-06-08 19:09:47

OpenSUSE網絡設
點贊
收藏

51CTO技術棧公眾號

一级做a爰片久久毛片| 国产福利精品一区二区三区| 亚洲欧美日韩免费| 日本怡春院一区二区| 最近中文字幕日韩精品| 免费黄色在线播放| 日韩福利一区| 亚洲免费毛片网站| 久久伦理网站| 国产精品主播一区二区| 亚洲少妇诱惑| 久久久精品电影| 在线观看一区二区三区四区| 成人在线爆射| 亚洲一区在线视频观看| 涩涩涩999| 免费av一级片| 精品一区中文字幕| 欧美专区在线视频| 激情综合网五月天| 日韩大片在线播放| 日韩精品免费在线观看| 爱情岛论坛亚洲自拍| 小黄鸭精品aⅴ导航网站入口| 亚洲精品中文在线| 新呦u视频一区二区| 日批免费在线观看| 国产一区不卡视频| 国产精品色婷婷视频| 中文字幕在线观看免费视频| 综合av在线| 在线播放国产一区二区三区| 国产精品无码专区| 午夜视频在线观看精品中文| 欧美日韩黄色一区二区| 日韩在线xxx| 国产美女精品写真福利视频| 中文字幕一区二区日韩精品绯色| 欧美一级片免费观看| 好吊色一区二区| 国产乱码精品一区二区三区五月婷 | 中文字幕不卡在线播放| 欧美日韩国产免费一区二区三区| 色噜噜一区二区三区| 成人一级片在线观看| 97超碰资源| 精品人妻一区二区三区四区不卡 | 精品人妻无码一区二区三区 | 自拍在线观看| 精品高清一区二区三区| www插插插无码视频网站| 一色桃子av在线| 亚洲欧美电影一区二区| 欧美日韩视频免费在线观看| 91欧美在线视频| 国产精品天天摸av网| 日韩欧美亚洲日产国产| 欧美日韩在线精品一区二区三区激情综| 成人h动漫精品| 国产自产精品| 你懂的好爽在线观看| 久久伊人蜜桃av一区二区| 欧美日韩系列| 中文字幕日本在线| 成人免费一区二区三区视频 | 在线午夜精品| 日本高清不卡在线| 久久久久久久久久一级| 蜜臀av国产精品久久久久| 国产视频观看一区| av资源免费看| aaa欧美日韩| 欧美视频1区| 亚洲s色大片| 亚洲免费伊人电影| 免费成人午夜视频| 国产成人免费9x9x人网站视频 | 在线观看国产福利| 欧美a在线观看| 亚洲激情国产精品| 91资源在线播放| 久久精品久久久| 久久久久久中文| 91丝袜一区二区三区| 美女在线视频一区| 成人在线观看网址| 久久久久久女乱国产| 亚洲欧美在线高清| 国产3p露脸普通话对白| 色猫猫成人app| 日韩午夜在线影院| 亚洲AV无码国产成人久久| 91青青国产在线观看精品| 欧美黑人性视频| 无码人妻丰满熟妇精品区| 国产一区二区三区在线观看精品 | 日韩中文字幕免费观看| 久久久不卡网国产精品一区| 黑人巨大国产9丨视频| 极品视频在线| 制服丝袜亚洲色图| 中文字幕日韩三级片| 色135综合网| 97国产在线观看| 97人妻人人澡人人爽人人精品| 成人精品在线视频观看| 亚洲精品国产精品国自产| 18video性欧美19sex高清| 欧美日韩精品欧美日韩精品 | 国内精品国产三级国产在线专| 天天干,天天干| 国产成人午夜精品5599| 日韩中文字幕av在线| 91福利区在线观看| 91精品欧美久久久久久动漫| 国产精久久一区二区三区| 国户精品久久久久久久久久久不卡| 国产成人一区二区三区| 风流老熟女一区二区三区| 国产精品天美传媒| 国产乱子夫妻xx黑人xyx真爽| 国产一区二区三区亚洲综合| 亚洲午夜精品久久久久久性色 | 欧美日韩中文另类| 亚洲国产第一区| 欧美亚洲不卡| 亚洲va国产va天堂va久久| 北岛玲日韩精品一区二区三区| 亚洲成精国产精品女| 亚洲AV无码久久精品国产一区| 日韩欧美一区二区三区免费看| 青草成人免费视频| 欧美 日韩 国产 精品| 一区二区三区在线视频播放| 日韩av.com| 成人3d精品动漫精品一二三| 奇米一区二区三区四区久久| 亚洲人在线观看视频| 午夜欧美2019年伦理| 丰满熟女人妻一区二区三区| 欧美69wwwcom| 99久久精品免费看国产一区二区三区 | 成人在线免费av| 夜夜嗨av一区二区三区免费区| 欧美一区二区三区不卡视频| 94色蜜桃网一区二区三区| 日韩五码在线观看| 欧美一区二区三区红桃小说| 久久久久久久久爱| 亚洲不卡免费视频| 亚洲国产成人av| 国产伦精品一区二区免费| 欧美大片一区| 高清视频在线观看一区| 超碰在线中文字幕| 亚洲国产一区二区三区四区| 国产一级淫片a| 91视频www| 无码无遮挡又大又爽又黄的视频| 国产精品美女久久久久久不卡 | 黄色欧美网站| 97香蕉超级碰碰久久免费软件 | 中文在线观看av| 欧美高清在线精品一区| 污视频网址在线观看| 亚洲在线久久| 国产精品乱码视频| 日韩伦理福利| 中文字幕精品久久久久| 一级黄色片免费| 亚洲乱码中文字幕| 又黄又爽的网站| 香蕉亚洲视频| 一区二区高清视频| 日韩精品一区二区三区中文| 国内精品小视频| 成人免费视频| 日韩三级视频在线观看| 亚欧视频在线观看| 亚洲国产高清不卡| 中文字幕无人区二| 久久亚洲美女| 久久久99精品视频| 小嫩嫩12欧美| 亚洲一区二区三区乱码aⅴ| 波多野结衣久久| 亚洲欧美在线播放| 中文字幕一区二区人妻痴汉电车| 亚洲精品中文字幕乱码三区| 成年人网站免费看| 精品一区二区三区久久久| 999一区二区三区| 欧美码中文字幕在线| 亚洲一区免费网站| 欧美xx视频| 欧美福利视频在线| a√在线中文网新版址在线| 日韩欧美中文字幕公布| 成人小视频在线播放| 一区二区国产盗摄色噜噜| 久久精品视频18| 国产99久久久精品| 邪恶网站在线观看| 国产欧美成人| 日本在线视频www色| 免费精品国产| 国产传媒欧美日韩| 欧美视频精品| 国产成人一区二区在线| av免费不卡| 免费91在线视频| 91福利在线视频| 日韩精品在线播放| 丰满人妻一区二区三区免费视频| 欧美日韩视频不卡| 日本黄色一级视频| 婷婷成人综合网| 538精品在线观看| 国产精品色呦呦| 狠狠人妻久久久久久综合蜜桃| 国产伦精一区二区三区| 日日噜噜噜噜久久久精品毛片| aa级大片欧美三级| 青青草国产免费| 91精品高清| 亚洲一区二区三区欧美| 国产一区二区亚洲| 欧美日韩亚洲一区二区三区在线观看| 国内精品麻豆美女在线播放视频 | aaa黄色大片| 国产自产视频一区二区三区| 亚洲国产精品三区| 日韩精品每日更新| 国产成人无码一二三区视频| 国产欧美短视频| 精品国偷自产一区二区三区| 国产精品videosex极品| 日本一区二区三区四区五区六区| 日韩专区精品| 中国成人在线视频| 久久在线视频免费观看| 性欧美.com| 91亚洲国产| 在线视频不卡一区二区三区| 成人毛片在线| 亚洲天堂电影网| 欧美韩国日本在线观看| 一区二区在线观| 天天综合久久| 法国空姐在线观看免费| 你懂的国产精品永久在线| 六月婷婷激情网| 黄色综合网站| 少妇人妻在线视频| 午夜一区二区三区不卡视频| 国产美女无遮挡网站| 久久精品男女| 亚洲免费看av| 国产一区高清在线| 久久久男人的天堂| 99国产一区二区三精品乱码| 国产精品jizz| 欧美激情综合网| 日韩高清dvd碟片| 亚洲午夜在线电影| 国产精品人人人人| 欧美亚州韩日在线看免费版国语版| 中文 欧美 日韩| 日韩西西人体444www| 亚洲av片在线观看| 深夜福利亚洲导航| 欧美人与性动交α欧美精品济南到 | 久草国产在线观看| 亚洲成人动漫av| 午夜精品久久久久久久蜜桃| 欧美男同性恋视频网站| 国产夫妻性生活视频| 亚洲电影免费观看| 国产色在线 com| 欧美成人黄色小视频| 欧洲一区精品| 国产在线播放不卡| 久久久久高潮毛片免费全部播放| 日本一区二区高清视频| 欧美va天堂在线| 精品一卡二卡三卡| 韩国av一区二区| 中文字幕5566| 综合欧美亚洲日本| 五月婷婷视频在线| 这里只有精品电影| 天堂√在线中文官网在线| 深夜成人在线观看| 天堂电影一区| 91在线视频导航| 狠狠做深爱婷婷综合一区| 黄网站色视频免费观看| 日产国产欧美视频一区精品| 色综合久久久无码中文字幕波多| 国产亚洲欧美激情| 国产一国产二国产三| 欧美日韩国产一级| 亚洲色图欧美视频| 欧美成人精品在线观看| 姬川优奈av一区二区在线电影| 国产乱人伦精品一区二区| 三级电影一区| 欧美亚洲日本在线观看| 成人美女在线视频| 国产精品久久久久久久精| 欧美综合久久久| 日批视频在线播放| 久久国产精品影视| 国产精品原创视频| 你懂的网址一区二区三区| 国产精品av一区二区| 五月天开心婷婷| 亚洲国产精品成人综合色在线婷婷| 日韩精品一区二区不卡| 日韩美女视频一区二区在线观看| 香蕉视频网站在线观看| 国产97色在线|日韩| 视频福利一区| 波多野结衣综合网| 国产精品中文欧美| 国产美女久久久久久| 欧美日韩亚洲丝袜制服| 搞黄视频免费在线观看| 欧洲亚洲女同hd| 青青视频一区二区| 日韩av高清在线看片| 国产91精品在线观看| 黄色一级免费视频| 日韩午夜在线观看视频| 成人影欧美片| 亚洲最大福利网| 中文字幕亚洲精品乱码| 天天综合天天添夜夜添狠狠添| 国产精品久久久一本精品| 中文无码av一区二区三区| 中文字幕在线亚洲| 久久亚洲精品人成综合网| 亚洲国产精品www| 久久99国产乱子伦精品免费| 中文字幕求饶的少妇| 欧美日韩国产高清一区二区三区 | 一区二区欧美视频| 亚洲精品18p| 午夜精品一区二区三区在线播放| 91精品国产自产在线丝袜啪 | 国模精品视频| 久久精品国产第一区二区三区最新章节 | 久久久久高清精品| 无码人妻精品一区二区三区不卡 | 日韩视频一区| 日韩免费高清一区二区| 疯狂做受xxxx欧美肥白少妇| 欧美一区二区三区少妇| 国产精品久久久久久久久久三级 | 99热久久这里只有精品| 成人av午夜影院| 51国产偷自视频区视频| 国产亚洲欧洲高清一区| 六九午夜精品视频| 神马午夜伦理影院| 白白色亚洲国产精品| 亚洲天堂男人av| 色综久久综合桃花网| **爰片久久毛片| 99福利在线观看| 中文字幕中文在线不卡住| 国产女人高潮时对白| 国内精品视频久久| 成人羞羞在线观看网站| 善良的小姨在线| 欧美日韩免费在线观看| av在线第一页| 国产精品国产精品国产专区不卡| 久久av一区| 91杏吧porn蝌蚪| 日韩av网址在线| 久久麻豆视频| 国产日韩av网站| 国产欧美精品一区二区色综合朱莉| 国产精品探花视频| 欧美亚洲另类激情另类| 手机亚洲手机国产手机日韩| 极品白嫩的小少妇| 欧美日韩三级视频| 国产精品论坛| 国产又爽又黄ai换脸| 99re这里只有精品6| 91麻豆国产视频| 欧美在线视频免费| 欧美一区影院| 成人无码av片在线观看| 亚洲大胆人体视频| av一级久久| 欧美日韩在线免费播放| 亚洲成人在线网站|