久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python爬虫开发从入门到实战

發布時間:2024/3/13 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python爬虫开发从入门到实战 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python爬蟲開發從入門到實戰(微課版)


第1章 緒論

爬蟲的主要目的是獲取網頁內容并解析。只要能達到這個目的,用什么方法都沒有問題。

關于獲取網頁,本書主要介紹了Python的兩個第三方模塊,一個是requests,另一個是爬蟲框架Scrapy。

關于解析網頁內容,本書主要介紹了3種方式——正則表達式、XPath和BeautifulSoup。兩種網頁獲取方式和3種網頁解析方式可以自由搭配,隨意使用。


第2章 Python基礎

知識點

  • Python開發環境的搭建。
  • Python的基本知識、數據類型。
  • Python的條件語句和循環語句。
  • Python函數的定義和使用。
  • 基于Python的面向對象編程代碼。

第3章 正則表達式與文件操作

知識點

  • 正則表達式的基本符號。
  • 如何在Python中使用正則表達式。
  • 正則表達式的提取技巧。
  • Python讀寫文本文件和CSV文件。

第4章 簡單的網頁爬蟲開發

知識點

  • requests的安裝和使用。
  • 多線程爬蟲的開發。
  • 爬蟲的常見算法。

多線程爬蟲的開發

在掌握了requests與正則表達式以后,就可以開始實戰爬取一些簡單的網址了。

但是,此時的爬蟲只有一個進程、一個線程,因此稱為單線程爬蟲。單線程爬蟲每次只訪問一個頁面,不能充分利用計算機的網絡帶寬。一個頁面最多也就幾百KB,所以爬蟲在爬取一個頁面的時候,多出來的網速和從發起請求到得到源代碼中間的時間都被浪費了。

如果可以讓爬蟲同時訪問10個頁面,就相當于爬取速度提高了10倍。為了達到這個目的,就需要使用多線程技術了。

微觀上的單線程,在宏觀上就像同時在做幾件事。這種機制在I/O(Input/Output,輸入/輸出)密集型的操作上影響不大,但是在CPU計算密集型的操作上面,由于只能使用CPU的一個核,就會對性能產生非常大的影響。所以涉及計算密集型的程序,就需要使用多進程,Python的多進程不受GIL的影響。

由于爬蟲是I/O密集型的操作,特別是在請求網頁源代碼的時候,如果使用單線程來開發,會浪費大量的時間來等待網頁返回,所以把多線程技術應用到爬蟲中,可以大大提高爬蟲的運行效率。

多進程庫(multiprocessing)

multiprocessing本身是Python的多進程庫,用來處理與多進程相關的操作。但是由于進程與進程之間不能直接共享內存和堆棧資源,而且啟動新的進程開銷也比線程大得多,因此使用多線程來爬取比使用多進程有更多的優勢。multiprocessing下面有一個dummy模塊,它可以讓Python的線程使用multiprocessing的各種方法。

dummy下面有一個Pool類,它用來實現線程池。這個線程池有一個map()方法,可以讓線程池里面的所有線程都“同時”執行一個函數。

from multiprocessing.dummy import Pool as ThreadPool# 使用map實現多線程爬蟲 pool = ThreadPool(4) pool.map(crawler_func, data_list) pool.close() pool.join()

常見搜索算法

  • DFS
  • BFS

在爬蟲開發的過程中,應該選擇深度優先還是廣度優先呢?這就需要根據被爬取的數據來進行選擇了。

小結

本章講解了requests的安裝和使用,以及如何使用Python的多進程庫multiprocessing來實現多線程爬蟲。


第5章 高性能HTML內容解析

知識點

  • HTML基礎結構。
  • 使用XPath從HTML源代碼中提取有用信息。
  • 使用Beautiful Soup4從HTML源代碼中提取有用信息。

Beautiful Soup4

Beautiful Soup4(BS4)是Python的一個第三方庫,用來從HTML和XML中提取數據。

pip install beautifulsoup4

小結

從網頁中提取需要的信息,是爬蟲開發中最重要但卻最基本的操作。只有掌握并能自由運用正則表達式、XPath與Beautiful Soup4從網頁中提取信息,爬蟲的學習才算是入門。

XPath是一門查詢語言,它由C語言開發而來,因此速度非常快。但是XPath需要經過一段時間的練習才能靈活應用。

Beautiful Soup4是一個從網頁中提取數據的工具,它入門很容易,功能很強大,但是由于是基于Python開發的,因此速度比XPath要慢。讀者可以自行選擇喜歡的一項來作為自己主要的數據提取方式。本書選擇使用XPath,所以后面的內容都會以XPath來進行講解。


第6章 Python與數據庫

數據庫

本章將會講解MongoDB和Redis這兩個數據庫。其中MongoDB用來保存大量數據,Redis用于作為緩存和隊列保存臨時數據。

知識點

  • MongoDB與Redis的安裝。
  • MongoDB的增刪改查操作。
  • Redis的列表與集合的操作。

在Mac OS下安裝MongoDB

brew update brew install mongodb #啟動MongoDB mongod --config /usr/local/etc/mongod.conf

圖形化管理工具—RoboMongo

RoboMongo是一個跨平臺的MongoDB管理工具,可以在圖形界面中查詢或者修改MongoDB。

數據在MongoDB中是按照“庫(Database)”—“集合(Collections)”—“文檔(Document)”的層級關系來存儲的。如果使用Python的數據結構來做類比的話,文檔相當于一個字典,集合相當于一個包含了很多字典的列表,庫相當于一個大字典,大字典里面的每一個鍵值對都對應了一個集合,Key為集合的名字,Value就是一個集合。

PyMongo的安裝

PyMongo模塊是Python對MongoDB操作的接口包,能夠實現對MongoDB的增刪改查及排序等操作。

pip install pymongo

PyMongo的使用

(1)使用PyMongo初始化數據庫

要使用PyMongo操作MongoDB,首先需要初始化數據庫連接。如果MongoDB運行在本地計算機上,而且也沒有修改端口或者添加用戶名及密碼,那么初始化MongoClient的實例的時候就不需要帶參數,直接寫為:

from pymongo import MongoClient client = MongoClient()

如果MongoDB是運行在其他服務器上面的,那么就需要使用“URI(Uniform Resource Identifier,統一資源標志符)”來指定連接地址。MongoDB URI的格式為:

mongodb://用戶名:密碼@服務器IP或域名:端口

PyMongo初始化數據庫與集合有兩種方式。

# 方式1: from pymongo import MongoClient client = MongoClient() database= client.Chapter6 collection = database.spider # 需要注意,使用方式1的時候,代碼中的“Chapter6”和“spider”都不是變量名,它們直接就是庫的名字和集合的名字。# 方式2: from pymongo import MongoClient client = MongoClient() database = client['Chapter6'] collection = database['spider'] # 使用方式2時,在方括號中指定庫名和集合名。這種情況下,方括號里除了直接寫普通的字符串以外,還可以寫一個變量。

默認情況下,MongoDB只允許本機訪問數據庫。這是因為MongoDB默認沒有訪問密碼,出于安全性的考慮,不允許外網訪問。

如果需要從外網訪問數據庫,那么需要修改安裝MongoDB時用到的配置文件mongod.conf。

(2)插入數據

MongoDB的插入操作非常簡單。用到的方法為insert(參數),插入的參數就是Python的字典。插入一條數據的代碼如下。

from pymongo import MongoClient client = MongoClient() database = client['Chapter6'] collection = database['spider'] data = {'id': 123, 'name': 'kingname', 'age': 20, 'salary': 999999} collection.insert(data)# MongoDB會自動添加一列“_id”,這一列里面的數據叫作ObjectId,ObjectId是在數據被插入MongoDB的瞬間,通過一定的算法計算出來的。因此,_id這一列就代表了數據插入的時間,它不重復,而且始終遞增。通過一定的算法,可以把ObjectId反向恢復為時間。

將多個字典放入列表中,并將列表作為insert()方法的參數,即可實現批量插入數據,代碼如下。

from pymongo import MongoClient client = MongoClient() database = client['Chapter6'] collection = database['spider'] more_data = [{'id': 2, 'name': '張三', 'age': 10, 'salary': 0},{'id': 3, 'name': '李四', 'age': 30, 'salary': -100},{'id': 4, 'name': '王五', 'age': 40, 'salary': 1000},{'id': 5, 'name': '外國人', 'age': 50, 'salary': '未知'}, ] collection.insert(more_data)

(3)普通查找

MongoDB的查找功能對應的方法是:

find(查詢條件, 返回字段) find_one(查詢條件,返回字段)普通查詢方法有以下3種寫法。 content = collection.find() content = collection.find({'age': 29}) content = collection.find({'age': 29}, {'_id': 0, 'name': 1, 'salary': 1})

(4)邏輯查詢

PyMongo也支持大于、小于、大于等于、小于等于、等于、不等于這類邏輯查詢。

collection.find({'age': {'$gt': 29}}) #查詢所有age > 29的記錄 collection.find({'age': {'$gte': 29, '$lte': 40}}) #查詢29 ≤ age ≤ 40的記錄 collection.find({'salary': {'$ne: 29}}) #查詢所有salary不等于29的記錄

(5)對查詢結果排序

# MongoDB支持對查詢到的結果進行排序。排序的方法為sort()。它的格式為: handler.find().sort('列名', 1-1)# 查詢一般和find()配合在一起使用。例如: collection.find({'age': {'$gte': 29, '$lte': 40}}).sort('age', -1) collection.find({'age': {'$gte': 29, '$lte': 40}}).sort('age', 1)

(6)更新記錄

更新可使用update_one()和update_many()方法。它們的格式為:

collection.update_one(參數1, 參數2) collection.update_many(參數1, 參數2)

(7)刪除記錄

刪除可使用delete_one()和delete_many()方法。它們的格式為:

collection.delete_one(參數) collection.delete_many(參數)

(8)對查詢結果去重

去重使用distinct()方法,其格式為:

collection.distinct('列名')

設計一個開關

思考一個問題:如何設計一個開關,實現在不結束程序進程的情況下,從全世界任何一個有網絡的地方既能隨時暫停程序,又能隨時恢復程序的運行。

最簡單的方法就是用數據庫來實現。在能被程序和控制者訪問的服務器中創建一個數據庫,數據庫名為“Switch_DB”。數據庫里面創建一個集合“Switch”,這個集合里面只有一個記錄,就是“Status”,它只有兩個值,“On”和“Off”,

在Mac OS下安裝Redis

brew update brew install redis #運行Redis redis-server /usr/local/etc/redis.conf

Redis交互環境的使用

redis-cli

常見操作

keys *可以查看當前有多少的“Key”。

在爬蟲開發的過程中主要會用到Redis的列表與集合

(1)列表

Redis的列表是一個可讀可寫的雙向隊列

lpush key value1 value2 value 3…

如果想查看一個列表的長度,可使用關鍵字為“llen”。這個關鍵字的第1個“l”對應的是英文“list”(列表)的首字母。

如果不刪除列表中的數據,又要把數據讀出來,就需要使用關鍵字“lrange”,這里的“l”對應的是英文“list”的首字母。”lrange”的使用格式為:

lrange key start end # 其中,start為起始位置,end為結束位置。例如: lrange chapter_6 0 3# 需要特別注意的是,在Python中,切片是左閉右開區間,例如,test[0:3]表示讀列表的第0、1、2個共3個值。但是lrange的參數是一個閉區間,包括開始,也包括結束,因此在圖6-35中會包含下標為0、1、2、3的4個值。

(2)集合

Redis的集合與Python的集合一樣,沒有順序,值不重復。往集合中添加數據,使用的關鍵字為“sadd”。這里的“s”對應的是英文單詞“set”(集合)。使用格式為:

sadd key value1 value2 value3

安裝Redis-py

pip install redis

MongoDB的優化建議

少讀少寫少更新

  • 建議把要插入到MongoDB中的數據先統一放到一個列表中,等積累到一定量再一次性插入
  • 對于讀數據,在內存允許的情況下,應該一次性把數據讀入內存,盡量減少對MongoDB的讀取操作。
  • 在某些情況下,更新操作不得不逐條進行。建議,把更新這個動作改為插入。這樣就可以實現批量更新的效果了。具體來說,就是把數據批量插入到一個新的MongoDB集合中,再把原來的集合刪除,最后將新的集合改為原來集合的名字。

能用Redis就不用MongoDB

為了提高效率,就需要引入Redis。由于Redis是基于內存的數據庫,因此即使頻繁對其讀/寫,對性能的影響也遠遠小于頻繁讀/寫MongoDB。在Redis中創建一個集合“crawled_url”,爬蟲在爬一個網址之前,先把這個網址sadd到這個集合中。如果返回為1,那么表示這個網址之前沒有爬過,爬蟲需要去爬取詳情頁。如果返回0,表示這個網址之前已經爬過了,就不需要再爬了。示例代碼片段如下:

for url in url_list: #url_list為在貼吧列表頁得到的每一個帖子的詳情頁網址列表if client.sadd('crawled_url', url) == 1:crawl(url)

練習

目標網站:http://dongyeguiwu.zuopinj.com/5525/。

目標內容:小說《白夜行》第一章到第十三章的正文內容。

任務要求:編寫兩個爬蟲,爬蟲1從http://dongyeguiwu.zuopinj.com/ 5525/獲取小說《白夜行》第一章到第十三章的網址,并將網址添加到Redis里名為url_queue的列表中。爬蟲2從Redis里名為url_queue的列表中讀出網址,進入網址爬取每一章的具體內容,再將內容保存到MongoDB中。

# 1 使用XPath獲取每一章的網址,再將它們添加到Redis中。其核心代碼如下: url_list = selector.xpath('//div[@class="book_list"]/ul/li/a/@href') for url in url_list:client.lpush('url_queue', url)# 2 對于爬取正文的爬蟲,只要發現Redis里的url_queue這個列表不為空,就要從里面讀出網址,并爬取數據。因此,其代碼如下: content_list = [] while client.llen('url_queue') > 0:url = client.lpop('url_queue').decode()source = requests.get(url).contentselector = html.fromstring(source) chapter_name = selector.xpath('//div[@class="h1title"]/h1/text()')[0] content = selector.xpath('//div[@id="htmlContent"]/p/text()') content_list.append({'title': chapter_name, 'content': '\n'.join(content)}) handler.insert(content_list)

調試與運行

爬蟲1運行結束以后,Redis中應該會出現一個名為url_queue的列表,執行以下代碼:

llen url_queue

爬蟲2運行結束以后,Redis中的url_queue會消失,同時MongoDB中會保存小說每一章的內容。

小結

本章主要講解了MongoDB與Redis的使用。其中,MongoDB主要用來存放爬蟲爬到的各種需要持久化保存的數據,而Redis則用來存放各種中間數據

通過減少頻繁讀/寫MongoDB,并使用Redis來彌補MongoDB的一些不足,可以顯著提高爬蟲的運行效率。

動手實踐

如果爬蟲1把10000個網址添加到url_queue中,爬蟲2同時運行在3臺計算機上,請觀察能實現什么效果。


第7章 異步加載與請求頭

知識點

  • 抓取異步加載的數據。
  • 偽造HTTP請求頭。
  • 模擬瀏覽器獲取網站數據。

AJAX版登錄頁面的爬取

通過POST提交請求解決了AJAX版登錄頁面的爬取

小結

本章主要介紹了使用爬蟲獲取異步加載網頁的各種方法。對于普通的異步加載,可以使用requests直接發送AJAX請求來獲取被加載的內容。

發送的請求中可能包含一些特殊的值,這些值來自網頁源代碼或者另一個AJAX請求。

在發送請求時需要注意,應保持requests提交的請求頭與瀏覽器的請求頭一致,這樣才能更好地騙過網站服務器達到獲取數據的目的。

對于比較復雜的異步加載,現階段可以先使用Selenium和ChromeDriver來直接加載網頁,然后就能從被加載的網頁中直接獲取到需要的內容。


第8章 模擬登錄與驗證碼

知識點

  • 使用Selenium操作瀏覽器實現自動登錄網站。
  • 使用Cookies登錄網站。
  • 模擬表單登錄網站。
  • 爬蟲識別簡單的驗證碼。

模擬登錄有多種實現方法

  • 使用Selenium操作瀏覽器登錄
  • 使用Cookies登錄雖然簡單粗暴
  • 使用模擬提交表單登錄雖然較為麻煩,但可以實現自動化

使用Cookies登錄

Cookie是用戶使用瀏覽器訪問網站的時候網站存放在瀏覽器中的一小段數據。Cookie的復數形式Cookies用來表示各種各樣的Cookie。它們有些用來記錄用戶的狀態信息;有些用來記錄用戶的操作行為;還有一些,具有現代網絡最重要的功能:記錄授權信息——用戶是否登錄以及用戶登錄哪個賬號。

為了不讓用戶每次訪問網站都進行登錄操作,瀏覽器會在用戶第一次登錄成功以后放一段加密的信息在Cookies中。下次用戶訪問,網站先檢查Cookies有沒有這個加密信息,如果有并且合法,那么就跳過登錄操作,直接進入登錄后的頁面。

使用Cookie來登錄網頁,不僅可以繞過登錄步驟,還可以繞過網站的驗證碼。

使用了requests的Session模塊。

所謂Session,是指一段會話。網站會把每一個會話的ID(Session ID)保存在瀏覽器的Cookies中用來標識用戶的身份。requests的Session模塊可以自動保存網站返回的一些信息。其實在前面章節中使用的requests.get(),在底層還是會先創建一個Session,然后用Session去訪問。

對于HTTPS的網站,在requests發送請求的時候需要帶上verify=False這個參數,否則爬蟲會報錯。

帶上這個參數以后,爬蟲依然會報一個警告,這是因為沒有HTTPS的證書。

對于HTTPS的網站,在requests發送請求的時候需要帶上verify=False這個參數,否則爬蟲會報錯。

模擬表單登錄

  • 通過POST提交請求解決了AJAX版登錄頁面的爬取。
  • 但是在現實中,有更多的網站是使用表單提交的方式來進行登錄的。

使用requests的Session模塊來模擬這個登錄

驗證碼 - 肉眼打碼

1.借助瀏覽器

在模擬登錄中講到過Cookies,通過Cookies能實現繞過登錄,從而直接訪問需要登錄的網站。因此,對于需要輸入驗證碼才能進行登錄的網站,可以手動在瀏覽器登錄網站,并通過Chrome獲取Cookies,然后使用Cookies來訪問網站。這樣就可以實現人工輸入一次驗證碼,然后很長時間不再登錄。

2.不借助瀏覽器

對于僅僅需要識別圖片的驗證碼,可以使用這種方式——先把驗證碼下載到本地,然后肉眼去識別并手動輸入給爬蟲。

驗證碼 - 自動打碼

1.Python圖像識別

Python的強大,在于它有非常多的第三方庫。 對于驗證碼識別,Python也有現成的庫來使用。開源的OCR庫pytesseract配合圖像識別引擎tesseract,可以用來將圖片中的文字轉換為文本。這種方式在爬蟲中的應用并不多見。因為現在大部分的驗證碼都加上了干擾的紋理,已經很少能用單機版的圖片識別方式來識別了。所以如果使用這種方式,只有兩種情況:網站的驗證碼極其簡單工整,使用大量的驗證碼來訓練tesseract。

(1)安裝tesseract

brew install tesseract

(2)安裝Python庫

要使用tesseract來進行圖像識別,需要安裝兩個第三方庫:

pip install Pillowpip install pytesseract# 其中,Pillow是Python中專門用來處理圖像的第三方庫,pytesseract是專門用來操作tesseract的第三方庫。

(3)tesseract的使用

① 導入pytesseract和Pillow。

② 打開圖片。

③ 識別。

import pytesseract from PIL import Image image = Image.open('驗證碼.png') code = pytesseract.image_to_string(image) print(code)

2.打碼網站

(1)打碼網站介紹

在線驗證碼識別的網站,簡稱打碼網站。這些網站有一些是使用深度學習技術識別驗證碼,有一些是雇傭了很多人來人肉識別驗證碼

網站提供了接口來實現驗證碼識別服務。使用打碼網站理論上可以識別任何使用輸入方式來驗證的驗證碼。

(2)使用在線打碼

在百度或者谷歌上面搜索“驗證碼在線識別”,就可以找到很多提供在線打碼的網站。但是由于一般這種打碼網站是需要交費才能使用的,所以要注意財產安全。

云打碼

練習:自動登錄果殼網

目標網站:https://www.guokr.com。

目標內容:個人資料設置界面源代碼。

使用模擬登錄與驗證碼識別的技術實現自動登錄果殼網。 果殼網的登錄界面有驗證碼,請使用人工或者在線打碼的方式識別驗證碼,并讓爬蟲登錄。登錄以后可以正確顯示“個人資料設置”界面的源代碼。

涉及的知識點:

  • 爬蟲識別驗證碼。
  • 爬蟲模擬登錄。

小結

本章主要講授了模擬登錄與驗證碼識別。使用Selenium實現模擬登錄最為簡單。但是這種方式的弊端是運行速度慢。

使用Cookies登錄可以實現一次手動、長期自動的目的。

而模擬表單登錄本質就是發起POST請求來進行登錄,需要使用Session模塊來保存登錄信息。

驗證碼識別主要是使需輸入的驗證碼實現自動化。包括手動輸入與在線打碼。對于單擊、拖動的驗證碼,建議使用Cookies來進行登錄。


第9章 抓包與中間人爬蟲

知識點

  • 使用Charles抓取App和微信小程序的數據包。
  • 使用mitmproxy開發中間人爬蟲。

數據抓包

所謂抓包(Package Capture),簡單來說,就是在網絡數據傳輸的過程中對數據包進行截獲、查看、修改或轉發的過程。

如果把網絡上發送與接收的數據包理解為快遞包裹,那么在快遞運輸的過程中查看里面的內容,這就是抓包。

Charles

要簡化尋找數據的過程,就需要設法直接全局搜索網頁的所有請求的返回數據。

為了實現這個目的,就需要使用Charles。Charles是一個跨平臺的HTTP抓包工具。使用它可以像Chrome一樣截取HTTP或者HTTPS請求的數據包。

抓取HTTPS數據包

用Charles抓取HTTPS數據包時的請求會大量失敗。出現這種情況,是因為沒有安裝SSL證書導致的。

第一步,安裝好證書:要安裝SSL證書,可選擇菜單欄的“Help”- “SSL Proxying”-“Install Charles Root Certificate”命令。

第二步,設置SSL代理:安裝好證書以后,選擇菜單欄中的“Proxy”-“SSL Proxying Settings”命令打開SSL代理設置對話框。

iOS系統的配置和使用

對于蘋果設備,首先要保證計算機和蘋果設備聯在同一個Wi-Fi上。選擇Charles菜單欄中的“Help”-“Local IP Address”命令,此時彈出一個對話框,顯示當前計算機的內網IP地址。

接下來設置手機。進入系統設置,選擇“無線局域網”,然后單擊已經連接的這個Wi-Fi熱點右側的圓圈包圍的字母i的圖標。

第一步,在手機上設置HTTP代理。

第二步,使用iOS系統自帶的Safari瀏覽器訪問https://chls.pro/ssl。安裝證書。

第三步,證書信任設置

Android的配置和使用

將Charles的證書保存到計算機桌面

微信小程序爬蟲

小程序的請求極其簡單,基本上沒有驗證信息,即便有驗證信息也非常脆弱。

用Python來請求小程序的后臺接口從而獲取數據,比請求異步加載網頁的后臺接口要容易很多。

在爬蟲開發過程中,如果目標網站有微信小程序,那么一定要優先調查能否通過小程序的接口來抓取數據。

小程序的反爬蟲能力比網頁版的低很多。使用小程序的接口來爬數據,能極大提高爬蟲的開發效率。

Charles的局限

  • Charles只能截獲HTTP和HTTPS的數據包,如果網站使用的是websocket或者是flashsocket,那么Charles就無能為力。
  • 有一些App會自帶證書,使用其他證書都無法正常訪問后臺接口。在這種情況下,Charles自帶的證書就不能正常使用,也就沒有辦法抓取這種App的數據。
  • 有一些App的數據經過加密,App接收到數據以后在其內部進行解密。
  • 對于這種情況,Charles只能抓取到經過加密的數據。如果無法知道數據的具體加密方法,就沒有辦法解讀Charles抓取到的數據。

中間人爬蟲

中間人(Man-in-the-Middle,MITM)攻擊是指攻擊者與通信的兩端分別創建獨立的聯系,并交換其所收到的數據,使通信的兩端認為其正在通過一個私密的連接與對方直接對話,但事實上整個會話都被攻擊者完全控制。

在中間人攻擊中,攻擊者可以攔截通信雙方的通話,并插入新的內容或者修改原有內容。

例如:上課傳紙條

中間人爬蟲就是利用了中間人攻擊的原理來實現數據抓取的一種爬蟲技術。

數據抓包就是中間人爬蟲的一個簡單應用。所以使用Charles也是一種中間人攻擊。

mitmproxy的介紹和安裝

要安裝mitmproxy,首先需要保證系統的Python為Python 3.5或者更高版本

brew install mitmproxy

mitmproxy使用

  • 運行mitmproxy會彈出對話框詢問
mitmproxy
  • mitmproxy的端口為8080端口,在瀏覽器或者在手機上設置代理,代理IP為計算機IP,端口為8080端口。
  • 設置好代理以后,在手機上打開一個App或者打開一個網頁,可以看到mitmproxy上面有數據滾動。
  • 此時只能訪問HTTP網站,要訪問HTTPS網站,還需要安裝mitmproxy的證書。在手機設置了mitmproxy的代理以后,通過手機瀏覽器訪問http://mitm.it/這個網址。

使用Python定制mitmproxy

mitmproxy的強大之處在于它還自帶一個mitmdump命令。這個命令可以用來運行符合一定規則的Python腳本,并在Python腳本里面直接操作HTTP和HTTPS的請求,以及返回的數據包。

為了自動化地監控網站或者手機發出的請求頭部信息和Body信息,并接收網站返回的頭部信息和Body信息,就需要掌握如何在Python腳本中獲得請求和返回的數據包。

mitmdump的使用場景

  • 網站返回的Headers中經常有Cookies。
  • mitmdump的腳本使用print()函數把Cookies打印出來,然后通過管道傳遞給另一個普通的正常的Python腳本。
  • 在另一個腳本里面,得到管道傳遞進來的Cookies,再把它放進Redis里面。

需求分析

目標App:Keep。

目標內容:Keep是當下熱門的健身App,本次案例的目的是要使用抓包的方式爬取Keep的熱門動態。

涉及的知識點:

  • 使用Charles或者mitmproxy抓包。
  • 開發App爬蟲。

小結

  • 抓包是爬蟲開發過程中非常有用的一個技巧。使用Charles,可以把爬蟲的爬取范圍從網頁瞬間擴展到手機App和微信小程序。
  • 由于微信小程序的反爬蟲機制在大多數情況下都非常脆弱,所以如果目標網站有微信小程序,那么可以大大簡化爬蟲的開發難度。
  • 當然,網站有可能會對接口的數據進行加密,App得到密文以后,使用內置的算法進行解密。對于這種情況,單純使用抓包就沒有辦法處理了,就需要使用下一章所要講到的技術來解決。
  • 使用mitmproxy可以實現爬蟲的全自動化操作。
  • 對于擁有復雜參數的網站,使用這種先抓包再提交的方式可以在一定程度上繞過網站的反爬蟲機制,從而實現數據抓取。

第10章 Android原生App爬蟲

知識點

那么有沒有什么辦法可以做到幾乎毫無痕跡地爬取數據呢?答案是有。當然可能有讀者會認為可以使用Selenium + ChromeDriver。這種方式只能操作網頁。本章將要介紹針對Android原生App的爬蟲。

  • Android測試環境的搭建。
  • 使用Python操作Android手機。
  • 使用Python操作Android手機實現爬蟲。

實現原理

目前,Android App主要有兩種實現形式。第一種是Android原生App。這種App的全部或者大部分內容使用Android提供的各個接口來開發,例如Android版的微信就是一個Android原生的App。第二種是基于網頁的App。這種App本質上就是一個瀏覽器,里面的所有內容實際上都是網頁。例如,12306的App就是這樣一種基于網頁的App。

Android原生App爬蟲(以下簡稱App爬蟲)可以直接讀取Android原生App上面的文本信息。

UI Automator Viewer

設置好環境變量以后,在終端窗口輸入“uiautomatorviewer”并按Enter鍵,如果彈出UI Automator Viewer窗口,表明環境設置成功。

Android手機連接到計算機上,保持手機屏幕為亮起狀態,單擊UI Automator Viewer左上角文件夾右側的手機圖標,如果能夠看到手機屏幕出現在窗口中,則表示一切順利,環境搭建成功完成。如果在這個過程中手機彈出了任何警告窗口,都選擇“運行”或者“確定”。

使用Python操縱手機

pip install uiautomator

有一點需要特別說明,UI Automator Viewer與Python uiautomator不能同時使用。

與Selenium一樣,要操作手機上面的元素,首先要找到被操作的東西。以打開微信為例,首先翻到有微信的那一頁

from uiautomator import Device device = Device() device(text='微信').click()

如果計算機上面只連接了一臺Android手機,那么初始化設備連接只需要使用device = Device()即可。那么如果計算機上連接了很多臺手機,該怎么辦呢?此時就需要指定手機的串號。要查看手機串號,需要在終端輸入以下命令:

adb devices -l

從輸出的內容可以看到手機的串號

選擇器

如何知道有哪些選擇器可供使用呢?請執行以下代碼:

from uiautomator import Device device = Device() print(device.dump())

此時終端會以XML輸出當前手機屏幕顯示的窗口布局信息。

這里的XML就相當于網頁中的HTML,用來描述窗口上面各個部分的布局信息。

XML的格式與HTML非常像,格式為:<標簽 屬性1=“屬性值1” 屬性2=“屬性值2”>文本</標簽>

操作

  • 獲得屏幕文字;
  • 滾動屏幕;
  • 滑動屏幕;
  • 點擊屏幕;
  • 輸入文字;
  • 判斷元素是否存在;
  • 點亮關閉屏幕;
  • 操作實體按鍵;
  • watcher。

多設備應用(群控)

使用uiautomator來做爬蟲開發,最主要的瓶頸在于速度。因為屏幕上的元素加載是需要時間的,這個時間受到手機性能和網速的多重限制。因此比較好的辦法是使用多臺Android手機實現分布式抓取。使用USBHub擴展計算機的USB口以后,一臺計算機控制30臺Android手機是完全沒有問題的。只要能實現良好的調度和任務派分邏輯,就可以大大提高數據的抓取效率。

App爬蟲系統架構的形式

練習:BOSS直聘爬蟲

任務目標:BOSS直聘App。
BOSS直聘是一個招聘App,在上面可以看到很多的工作。 App職位列表如圖10-44所示。
使用uiautomator開發一個爬蟲,從手機上爬取每一個職位的名稱、薪資、招聘公司、公司地址、工作經驗要求和學歷。

小結

  • 本章主要講解了如何通過Python操作手機來獲取Android原生App中的文字內容。Python使用uiautomator這個第三方庫來操作Android手機的UiAutomator,從而實現模擬人們對手機屏幕的任何操作行為,并直接讀取屏幕上的文字。
  • 使用uiautomator來開發爬蟲,要打通流程非常簡單。但是需要特別注意處理各種異常的情況。同時,由于手機速度的問題,應該使用多臺手機構成一個集群來提高抓取的速率。
  • 最后,如果使用手機集群來進行數據抓取,并且需要抓取的App數據來自網絡,那么需要考慮無線路由器的負荷。當同時連接無線路由器的設備超過一定數量時,有可能導致部分甚至所有設備都無法上網。這就需要使用工業級路由器來緩解。
  • 無線信號相互干擾也是一個比較麻煩的問題。使用5G信道能緩解,但一般便宜的Android手機不支持5G的Wi-Fi信道,此時能做的就是把手機盡量分開,不要放在一起。使用電磁屏蔽網,將每10個手機和一個無線路由器為一組包裹起來,也能起到一定的阻隔Wi-Fi信號的作用。

練習

使用Android手機來爬取一個原生App的數據。


第11章 Scrapy

知識點

  • 在Windows、Mac OS和Linux下搭建Scrapy環境。
  • 使用Scrapy獲取網絡源代碼。
  • 在Scrapy中通過XPath解析數據。
  • 在Scrapy中使用MongoDB。
  • 在Scrapy中使用Redis。

在Mac OS下安裝Scrapy

pip install scrapy

創建項目

$ scrapy startproject offcn # offcn 是項目名$ cd offcn $ scrapy genspider jobbank zw.offcn.com # jobbank 是爬蟲名 # zw.offcn.com 是爬取的網址# 運行 $ scrapy crawl jobbank

那么如何使用PyCharm來運行或者調試Scrapy的爬蟲呢?

為了實現這個目的,需要創建另外一個Python文件。文件名可以取任意合法的文件名。這里以“main.py”為例。

main.py文件內容如下:

from scrapy import cmdline cmdline.execute("scrapy crawl jobbank".split())

Scrapy的工程結構

  • spiders文件夾:存放爬蟲文件的文件夾。
  • items.py:定義需要抓取的數據。
  • pipelines.py:負責數據抓取以后的處理工作。
  • settings.py:爬蟲的各種配置信息。

但是為什么還有items.py和pipelines.py這兩個文件呢?這是由于Scrapy的理念是將數據爬取和數據處理分開。

items.py文件用于定義需要爬取哪些內容。

pipelines.py文件用于對數據做初步的處理,包括但不限于初步清洗數據、存儲數據等。在pipelines中可以將數據保存到MongoDB。

Scrapy與MongoDB

一個Scrapy工程可以有多個爬蟲;再看items.py文件,可以發現,在一個items.py里面可以對不同的爬蟲定義不同的抓取內容Item。

接下來設置pipelines.py。在這個文件中,需要寫出將數據保存到MongoDB的代碼。而這里的代碼,就是最簡單的初始化MongoDB的連接,保存數據。

Scrapy與Redis

Scrapy是一個分布式爬蟲的框架,如果把它像普通的爬蟲一樣單機運行,它的優勢將不會被體現出來。

因此,要讓Scrapy往分布式爬蟲方向發展,就需要學習Scrapy與Redis的結合使用。Redis在Scrapy的爬蟲中作為一個隊列存在。

使用Redis緩存網頁并自動去重

pip install scrapy_redis

小結

本章主要講了Python分布式爬蟲框架Scrapy的安裝和使用。

Scrapy在Windows中的安裝最為煩瑣,在Mac OS中的安裝最為簡單。

由于Scrapy需要依賴非常多的第三方庫文件,因此建議無論使用哪個系統安裝,都要將Scrapy安裝到Virtualenv創建的虛擬Python環境中,從而避免影響系統的Python環境。

使用Scrapy爬取網頁,最核心的部分是構建XPath。而其他的各種配置都是一次配好、終生使用的。由于Scrapy的理念是將數據抓取的動作和數據處理的動作分開,因此對于數據處理的各種邏輯應該讓pipeline來處理。數據抓取的部分只需要關注如何使用XPath提取數據。數據提取完成以后,提交給pipeline處理即可。

由于Scrapy爬蟲爬取數據是異步操作,所以從一個頁面跳到另一個頁面是異步的過程,需要使用回調函數。

Scrapy爬取到的數據量非常大,所以應該使用數據庫來保存。使用MongoDB會讓數據保存工作變得非常簡單。

要讓Scrapy使用MongoDB,只需要在pipeline中配置好數據保存的流程,再在settings.py中配置好ITEM_PIPELINES和MongoDB的信息即可。

使用Redis做緩存是從爬蟲邁向分布式爬蟲的一個起點。

Scrapy安裝scrapy_redis組件以后,就可以具備使用Redis的能力。

在Scrapy中使用Redis需要修改爬蟲的父類,需要在settings.py中設置好爬蟲的調度和去重。

同時對于Python 3,需要修改scrapy_redis的一行代碼,才能讓爬蟲正常運行。

練習

請完成網站爬蟲開發,并實現爬蟲的翻頁功能,從而可以爬到1~5頁所有的文章。下一頁的URL請使用爬蟲從當前頁面獲取,切勿根據URL的規律手動構造。

提示,對于翻頁功能,實際上相當于將回調函數的函數名寫成它自己的: callback=self.parse。parse方法可自己調用自己,不過傳入的URL是下一頁的URL。這有點像遞歸,不過遞歸用的是return,而這里用的是yield。

請思考一個問題,在請求文章詳情頁的時候,設置了請求頭,但是Scrapy請求文章列表頁的時候,在哪里設置請求頭?請求列表頁的時候,爬蟲直接從Redis得到網址,自動發起了請求,完全沒讓開發者自己設置請求頭。這其實是一個非常大的隱患,因為不設置請求頭,網站立刻就能知道這個請求來自Scrapy,這是非常危險的。

請讀者查詢scrapy_redis的文檔,查看如何使用make_requests_ from_url(self, url)這個方法。


第12章 Scrapy高級應用

知識點

  • 開發Scrapy中間件。
  • 使用Scrapyd部署爬蟲。
  • Nginx的安裝和反向代理。
  • 了解爬蟲的分布式框架。

Middleware

中間件是Scrapy里面的一個核心概念。使用中間件可以在爬蟲的請求發起之前或者請求返回之后對數據進行定制化修改,從而開發出適應不同情況的爬蟲。

“中間件”這個中文名字和前面章節講到的“中間人”只有一字之差。它們做的事情確實也非常相似。中間件和中間人都能在中途劫持數據,做一些修改再把數據傳遞出去。不同點在于,中間件是開發者主動加進去的組件,而中間人是被動的,一般是惡意地加進去的環節。

中間件主要用來輔助開發,而中間人卻多被用來進行數據的竊取、偽造甚至攻擊。

在Scrapy中有兩種中間件:下載器中間件(Downloader Middleware)和爬蟲中間件(Spider Middleware)。

Downloader Middleware

更換代理IP,更換Cookies,更換User-Agent,自動重試。

加入中間件以后的爬蟲流程

開發代理中間件

代理中間件的可用代理列表不一定非要寫在settings.py里面,也可以將它們寫到數據庫或者Redis中。一個可行的自動更換代理的爬蟲系統,應該有如下的3個功能。

  • 有一個小爬蟲ProxySpider去各大代理網站爬取免費代理并驗證,將可以使用的代理IP保存到數據庫中。
  • 在ProxyMiddlerware的process_request中,每次從數據庫里面隨機選擇一條代理IP地址使用。
  • 周期性驗證數據庫中的無效代理,及時將其刪除。

激活中間件

中間件寫好以后,需要去settings.py中啟動。

Scrapy自帶中間件及其順序編號

開發UA中間件

從settings.py配置好的UA列表中隨機選擇一項,加入到請求頭中

開發Cookies中間件

對于需要登錄的網站,可以使用Cookies來保持登錄狀態。那么如果單獨寫一個小程序,用Selenium持續不斷地用不同的賬號登錄網站,就可以得到很多不同的Cookies。由于Cookies本質上就是一段文本,所以可以把這段文本放在Redis里面。這樣一來,當Scrapy爬蟲請求網頁時,可以從Redis中讀取Cookies并給爬蟲換上。這樣爬蟲就可以一直保持登錄狀態。

在中間件中集成Selenium

對于一些很麻煩的異步加載頁面,手動尋找它的后臺API代價可能太大。這種情況下可以使用Selenium和ChromeDriver或者Selenium和PhantomJS來實現渲染網頁。

在中間件中集成了Selenium以后,就可以像爬取普通網頁一樣爬取異步加載的頁面

在中間件里重試

在爬蟲的運行過程中,可能會因為網絡問題或者是網站反爬蟲機制生效等原因,導致一些請求失敗。在某些情況下,少量的數據丟失是無關緊要的,例如在幾億次請求里面失敗了十幾次,損失微乎其微,沒有必要重試。但還有一些情況,每一條請求都至關重要,容不得有一次失敗。此時就需要使用中間件來進行重試。

在中間件里處理異常

在默認情況下,一次請求失敗了,Scrapy會立刻原地重試,再失敗再重試,如此3次。如果3次都失敗了,就放棄這個請求。這種重試邏輯存在一些缺陷。以代理IP為例,代理存在不穩定性,特別是免費的代理,差不多10個里面只有3個能用。而現在市面上有一些收費代理IP提供商,購買他們的服務以后,會直接提供一個固定的網址。

把這個網址設為Scrapy的代理,就能實現每分鐘自動以不同的IP訪問網站。如果其中一個IP出現了故障,那么需要等一分鐘以后才會更換新的IP。在這種場景下,Scrapy自帶的重試邏輯就會導致3次重試都失敗。

這種場景下,如果能立刻更換代理就立刻更換;如果不能立刻更換代理,比較好的處理方法是延遲重試。而使用Scrapy_redis就能實現這一點。

爬蟲的請求來自于Redis,請求失敗以后的URL又放回Redis的末尾。

一旦一個請求原地重試3次還是失敗,那么就把它放到Redis的末尾,這樣Scrapy需要把Redis列表前面的請求都消費以后才會重試之前的失敗請求。這就為更換IP帶來了足夠的時間。

下載器中間件功能總結

能在中間件中實現的功能,都能通過直接把代碼寫到爬蟲中實現。使用中間件的好處在于,它可以把數據爬取和其他操作分開。在爬蟲的代碼里面專心寫數據爬取的代碼;在中間件里面專心寫突破反爬蟲、登錄、重試和渲染AJAX等操作。

對團隊來說,這種寫法能實現多人同時開發,提高開發效率;對個人來說,寫爬蟲的時候不用考慮反爬蟲、登錄、驗證碼和異步加載等操作。另外,寫中間件的時候不用考慮數據怎樣提取。一段時間只做一件事,思路更清晰。

爬蟲中間件

爬蟲中間件的用法與下載器中間件非常相似,只是它們的作用對象不同。

下載器中間件的作用對象是請求request和返回response;爬蟲中間鍵的作用對象是爬蟲,更具體地來說,就是寫在spiders文件夾下面的各個文件。

Scrapy的數據流圖

其中,4、5表示下載器中間件,6、7表示爬蟲中間件。爬蟲中間件會在以下幾種情況被調用。

  • 當運行到yield scrapy.Request()或者yield item的時候,爬蟲中間件的process_spider_output()方法被調用。
  • 當爬蟲本身的代碼出現了Exception的時候,爬蟲中間件的process_spider_exception()方法被調用。
  • 當爬蟲里面的某一個回調函數parse_xxx()被調用之前,爬蟲中間件的process_spider_input()方法被調用。
  • 當運行到start_requests()的時候,爬蟲中間件的process_start_ requests()方法被調用。

在中間件處理爬蟲本身的異常

在爬蟲中間件里面可以處理爬蟲本身的異常。

下載器中間件里面的報錯一般是由于外部原因引起的,和代碼層面無關。而現在的這種報錯是由于代碼本身的問題導致的,是代碼寫得不夠周全引起的。

激活爬蟲中間件

在settings.py中,在下載器中間件配置項的上面就是爬蟲中間件的配置項,它默認也是被注釋了的,解除注釋,并把自定義的爬蟲中間件添加進去即可

幾個自帶的爬蟲中間件

爬蟲中間件輸入/輸出

在爬蟲中間件里面還有兩個不太常用的方法,分別為process_ spider_input(response, spider)和process_spider_output(response, result, spider)。其中,process_spider_input(response, spider)在下載器中間件處理完成后,馬上要進入某個回調函數parse_xxx()前調用。

process_spider_output(response, result, output)是在爬蟲運行yield item或者yield scrapy.Request()的時候調用。

在這個方法處理完成以后,數據如果是item,就會被交給pipeline;如果是請求,就會被交給調度器,然后下載器中間件才會開始運行。

所以在這個方法里面可以進一步對item或者請求做一些修改。這個方法的參數result就是爬蟲爬出來的item或者scrapy.Request()。由于yield得到的是一個生成器,生成器是可以迭代的,所以result也是可以迭代的,可以使用for循環來把它展開。

爬蟲的部署

一般情況下,爬蟲會使用云服務器來運行,這樣可以保證爬蟲24h不間斷運行。

FTP:使用FTP來上傳代碼,不僅非常不方便,而且經常出現把方向搞反,導致本地最新的代碼被服務器代碼覆蓋的問題。

Git:好處是可以進行版本管理,不會出現代碼丟失的問題。但操作步驟多,需要先在本地提交,然后登錄服務器,再從服務器上面把代碼下載下來。如果有很多服務器的話,每個服務器都登錄并下載一遍代碼是非常浪費時間的事情。

Docker:好處是可以做到所有服務器都有相同的環境,部署非常方便。但需要對Linux有比較深入的了解,對新人不友好,上手難度比較大。

為了克服上面的種種問題,本書將會使用Scrapy官方開發的爬蟲部署、運行、管理工具:Scrapyd。

Scrapyd

Scrapyd是Scrapy官方開發的,用來部署、運行和管理Scrapy爬蟲的工具。使用Scrapyd,可以實現一鍵部署Scrapy爬蟲,訪問一個網址就啟動/停止爬蟲。Scrapyd自帶一個簡陋網頁,可以通過瀏覽器看到爬蟲當前運行狀態或者查閱爬蟲Log。Scrapyd提供了官方API,從而可以通過二次開發實現更多更加復雜的功能。

Scrapyd可以同時管理多個Scrapy工程里面的多個爬蟲的多個版本。如果在多個云服務器上安裝Scrapyd,可以通過Python寫一個小程序,來實現批量部署爬蟲、批量啟動爬蟲和批量停止爬蟲。

pip install scrapyd

上傳Scrapy爬蟲的工具

Scrapyd需要安裝到云服務器上,如果讀者沒有云服務器,或者想在本地測試,那么可以在本地也安裝一個。

接下來需要安裝scrapyd-client,這是用來上傳Scrapy爬蟲的工具,也是Python的一個第三方庫,使用pip安裝即可:

pip install scrapyd-client

這個工具只需要安裝到本地計算機上,不需要安裝到云服務器上

啟動Scrapyd

接下來需要在云服務器上啟動Scrapyd。在默認情況下,Scrapyd不能從外網訪問,為了讓它能夠被外網訪問,需要創建一個配置文件。除了bind_address這一項外,其他都可以保持默認。bind_address這一項的值設定為當前這臺云服務器的外網IP地址。配置文件放好以后,在終端或者CMD中輸入scrapyd并按Enter鍵,這樣Scrapyd就啟動了。

scrapyd

此時打開瀏覽器,輸入“http://云服務器IP地址:6800”格式的地址就可以打開Scrapyd自帶的簡陋網頁

部署爬蟲

Scrapyd啟動以后,就可以開始部署爬蟲了。打開任意一個Scrapy的工程文件,可以看到在工程的根目錄中,Scrapy已經自動創建了一個scrapy.cfg文件,打開這個文件。現在需要把第10行的注釋符號去掉,并將IP地址改為Scrapyd所在云服務器的IP地址

最后,使用終端或者CMD進入這個Scrapy工程的根目錄,執行下面這一行命令部署爬蟲:

scrapyd-deploy

Mac OS和Linux系統,啟動/停止爬蟲

curl這個發起網絡請求的自帶工具

在上傳了爬蟲以后,就可以啟動爬蟲了。對于Mac OS和Linux系統,啟動和停止爬蟲非常簡單。要啟動爬蟲,需要在終端輸入下面這一行格式的代碼。

curl http://云服務器IP地址:6800/schedule.json -d project=爬蟲工程名 -d spider=爬蟲名

如果爬蟲的運行時間太長,希望提前結束爬蟲,那么可以使用下面格式的命令來實現:

curl http://爬蟲服務器IP地址:6800/cancel.json -d project=工程名 -d job=爬蟲JOBID(在網頁上可以查詢到)

運行以后,相當于對爬蟲按下了Ctrl+C組合鍵的效果

Windows系統,啟動/停止爬蟲

沒有像Mac OS和Linux的終端一樣擁有curl這個發起網絡請求的自帶工具。但既然是發起網絡請求,那么只需要借助Python和requests就可以完成。

  • 使用requests發送請求啟動爬蟲
  • 使用requests發送請求關閉爬蟲

在Python中執行命令部署爬蟲

由于部署爬蟲的時候直接執行scrapyd-deploy命令,所以如何使用Python來自動化部署爬蟲呢?其實也非常容易。在Python里面使用os這個自帶模塊就可以執行系統命令

批量部署

使用Python與requests的好處不僅在于可以幫助Windows實現控制爬蟲,還可以用來實現批量部署、批量控制爬蟲。

假設有一百臺云服務器,只要每一臺上面都安裝了Scrapyd,那么使用Python來批量部署并啟動爬蟲所需要的時間不超過1min。

這里給出一個批量部署并啟動爬蟲的例子,首先在爬蟲的根目錄下創建一個scrapy_template.cfg文件

權限管理

為了彌補Scrapyd沒有權限管理系統這一短板,就需要借助其他方式來對網絡請求進行管控。帶權限管理的反向代理就是一種解決辦法。

Nginx的介紹

Nginx讀作Engine X,是一個輕量級的高性能網絡服務器、負載均衡器和反向代理。

為了解決Scrapyd的問題,需要用Nginx做反向代理。

正向代理與反向代理

所謂“反向代理”,是相對于“正向代理”而言的。前面章節所用到的代理是正向代理。正向代理幫助請求者(爬蟲)隱藏身份,爬蟲通過代理訪問服務器,服務器只能看到代理IP,看不到爬蟲;

反向代理幫助服務器隱藏身份。用戶只知道服務器返回的內容,但不知道也不需要知道這個內容是在哪里生成的。

使用Nginx來保護Scrapyd

使用Nginx反向代理到Scrapyd以后,Scrapyd本身只需要開通內網訪問即可。

用戶訪問Nginx,Nginx再訪問Scrapyd,然后Scrapyd把結果返回給Nginx,Nginx再把結果返回給用戶。這樣只要在Nginx上設置登錄密碼,就可以間接實現Scrapyd的訪問管控了

Nginx的安裝

sudo apt-get install nginx

安裝好以后,需要考慮以下兩個問題。

  • 服務器是否有其他的程序占用了80端口。
  • 服務器是否有防火墻。

/etc/nginx/sites-available/default文件,將80全部改成81并保存

sudo systemctl restart nginx

配置反向代理

首先打開/etc/scrapyd/scrapyd.conf,把bind_address這一項重新改為127.0.0.1,并把http_port這一項改為6801。把Scrapyd設置為只允許內網訪問,端口為6801

接下來配置Nginx,在/etc/nginx/sites-available文件夾下創建一個scrapyd.conf,其內容為:

server {listen 6800;location / {proxy_pass http://127.0.0.1:6801/;auth_basic "Restricted";auth_basic_user_file /etc/nginx/conf.d/.htpasswd;}}

使用basic auth權限管理方法,對于通過授權的用戶,將它對6800端口的請求轉到服務器本地的6801端口。需要注意配置里面的記錄授權文件的路徑這一項:auth_basic_user_file /etc/nginx/conf.d/.htpasswd

在后面會將授權信息的記錄文件放在/etc/nginx/conf.d/.htpasswd這個文件中。寫好這個配置以后,保存。

接下來,執行下面的命令,在/etc/nginx/sites-enabled文件夾下創建一個軟連接:

sudo ln -s /etc/nginx/sites-available/scrapyd.conf /etc/nginx/sites-enabled/

軟連接創建好以后,需要生成賬號和密碼的配置文件。首先安裝apache2-utils軟件包:

sudo apt-get install apache2-utils

安裝完成apache2-utils以后,cd進入/etc/nginx/conf.d文件夾,并執行命令為用戶kingname生成密碼文件:

sudo htpasswd -c .htpasswd kingname

上面的命令會在/etc/nginx/conf.d文件夾下生成一個.htpasswd的隱藏文件。有了這個文件,Nginx就能進行權限驗證了。

接下來重啟Nginx:

sudo systemctl restart nginx

重啟完成以后,啟動Scrapyd,再在瀏覽器上訪問格式為“http://服務器IP:6800”的網址

配置Scrapy工程

由于為Scrapyd添加了權限管控,因此在12.2.1小節中涉及的部署爬蟲、啟動/停止爬蟲的地方都要做一些小修改。

首先是部署爬蟲,為了讓scrapyd-deploy能成功地輸入密碼,需要修改爬蟲根目錄的scrapy.cfg文件,添加username和password兩項,其中username對應賬號,password對應密碼。

配置好scrapy.cfg以后,部署爬蟲的命令不變,還是進入這個Scrapy工程的根目錄,執行以下代碼即可:

scrapyd-deploy

使用curl啟動/關閉爬蟲,只需要在命令上加上賬號參數即可。賬號參數為“-u 用戶名:密碼”。

所以,啟動爬蟲的命令為:

curl http://45.76.110.210:6800/schedule.json -d project=工程名 -d spider=爬蟲名 -u kingname:genius停止爬蟲的命令為:```shell curl http://45.76.110.210:6800/cancel.json -d project=工程名 -d job=爬蟲JOBID-u kingname:genius

如果使用Python與requests編寫腳本來控制爬蟲,那么賬號信息可以作為POST方法的一個參數,參數名為auth,值為一個元組,元組第0項為賬號,第1項為密碼:

result = requests.post(start_url, data=start_data, auth=('kingname', 'genius')).text result = requests.post(end_url, data=end_data, auth=('kingname', 'genius')).text

分布式架構介紹

在前面章節中已經講到了把目標放到Redis里面,然后讓多個爬蟲從Redis中讀取目標再爬取的架構,這其實就是一種主—從式的分布式架構。使用Scrapy,配合scrapy_redis,再加上Redis,也就實現了一個所謂的分布式爬蟲。

實際上,這種分布式爬蟲的核心概念就是一個中心結點,也叫Master。它上面跑著一個Redis,所有的待爬網站的網址都在里面。其他云服務器上面的爬蟲(Slave)就從這個共同的Redis中讀取待爬網址。

分布式爬蟲架構圖

只要能訪問這個Master服務器,并讀取Redis,那么其他服務器使用什么系統什么提供商都沒有關系。

例如,使用Ubuntu作為爬蟲的Master,用來做任務的派分。

使用樹莓派、Windows 10 PC和Mac來作為分布式爬蟲的Slave,用來爬取網站,并將結果保存到Mac上面運行的MongoDB中。

其中,作為Master的Ubuntu服務器僅需要安裝Redis即可,它的作用僅僅是作為一個待爬網址的臨時中轉,所以甚至不需要安裝Python。

在Mac、樹莓派和Windows PC中,需要安裝好Scrapy,并通過Scrapyd管理爬蟲。由于爬蟲會一直監控Master的Redis,所以在Redis沒有數據的時候爬蟲處于待命狀態。

當目標被放進了Redis以后,爬蟲就能開始運行了。由于Redis是一個單線程的數據庫,因此不會出現多個爬蟲拿到同一個網址的情況。

如何選擇Master

嚴格來講,Master只需要能運行Redis并且能被其他爬蟲訪問即可。但是如果能擁有一個公網IP則更好。這樣可以從世界上任何一個能訪問互聯網的地方訪問Master。但如果實在沒有云服務器,也并不是說一定得花錢買一個,如果自己有很多臺計算機,完全可以用一臺計算機來作為Master,其他計算機來做Slave。

Master也可以同時是Slave。在第11章的例子中,Scrapy和Redis是安裝在同一臺計算機中的。這臺計算機既是Master又是Slave。

Master一定要能夠被其他所有的Slave訪問。所以,如果所有計算機不在同一個局域網,那么就需要想辦法弄到一臺具有公網IP的計算機或者云服務器。

在中國,大部分情況下,電信運營商分配到的IP是內網IP。在這種情況下,即使知道了IP地址,也沒有辦法從外面連進來。

在局域網里面,因為局域網共用一個出口,局域網內的所有共用同一個公網IP。對網站來說,這個IP地址訪問頻率太高了,肯定不是人在訪問,從而被網站封鎖的可能性增大。而使用分布式爬蟲,不僅僅是為了提高訪問抓取速度,更重要的是降低每一個IP的訪問頻率,使網站誤認為這是人在訪問。所以,如果所有的爬蟲確實都在同一個局域網共用一個出口的話,建議為每個爬蟲加上代理。

在實際生產環境中,最理想的情況是每一個Slave的公網IP都不一樣,這樣才能做到既能快速抓取,又能減小被反爬蟲機制封鎖的機會。

小結

本章主要介紹了Scrapy中間件的高級用法和爬蟲的批量部署。

使用中間件可以讓爬蟲專注于提取數據,而像更換IP、獲取登錄Session等事情全部都交給中間件來做。這樣可以讓爬蟲本身的代碼更加簡潔,也便于協同開發。

使用Scrapyd來部署爬蟲,可以實現遠程開關爬蟲和批量部署爬蟲,從而實現分布式爬蟲。

第13章 爬蟲開發中的法律和道德問題

小結

  • 在爬蟲開發和數據采集的過程中,閱讀網站的協議可以有效發現并規避潛在的法律風險。
  • 爬蟲在爬取網站的時候控制頻率,善待網站,才能讓爬蟲運行得更長久。

總結

以上是生活随笔為你收集整理的Python爬虫开发从入门到实战的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国产绳艺sm调教室论坛 | 夜夜高潮次次欢爽av女 | 欧美国产日产一区二区 | av无码不卡在线观看免费 | 欧美自拍另类欧美综合图片区 | 国产精品欧美成人 | 国产成人精品视频ⅴa片软件竹菊 | 欧美一区二区三区视频在线观看 | 久久综合给合久久狠狠狠97色 | 精品国产麻豆免费人成网站 | 欧美日韩在线亚洲综合国产人 | 亚洲爆乳精品无码一区二区三区 | av香港经典三级级 在线 | 99re在线播放 | 精品国产精品久久一区免费式 | 亚洲成av人影院在线观看 | 国产成人综合美国十次 | 男人扒开女人内裤强吻桶进去 | 欧美熟妇另类久久久久久不卡 | 国产真实夫妇视频 | 亚洲精品中文字幕 | 99久久精品国产一区二区蜜芽 | 欧美人与禽zoz0性伦交 | 久久久无码中文字幕久... | 久久综合网欧美色妞网 | 老熟妇乱子伦牲交视频 | 99久久精品国产一区二区蜜芽 | 国产精品久久国产精品99 | 国产麻豆精品一区二区三区v视界 | 男女下面进入的视频免费午夜 | 中文无码伦av中文字幕 | 国产舌乚八伦偷品w中 | 欧美成人高清在线播放 | 国产内射老熟女aaaa | 国产日产欧产精品精品app | 亚洲啪av永久无码精品放毛片 | 人人妻在人人 | 一本加勒比波多野结衣 | 午夜理论片yy44880影院 | 扒开双腿疯狂进出爽爽爽视频 | 久久人人爽人人爽人人片av高清 | 国产人妻大战黑人第1集 | 日日碰狠狠丁香久燥 | 野外少妇愉情中文字幕 | 国产三级久久久精品麻豆三级 | 又大又硬又黄的免费视频 | 乱人伦人妻中文字幕无码久久网 | 亚洲 欧美 激情 小说 另类 | 国产午夜亚洲精品不卡下载 | 欧美一区二区三区 | 久久亚洲a片com人成 | 国产精品永久免费视频 | 欧美激情一区二区三区成人 | 蜜桃无码一区二区三区 | 久久精品无码一区二区三区 | 国产精品视频免费播放 | 亚洲精品一区二区三区大桥未久 | 国产精品a成v人在线播放 | 伊人久久大香线蕉av一区二区 | 国产特级毛片aaaaaaa高清 | 亚洲中文字幕乱码av波多ji | 又黄又爽又色的视频 | 99麻豆久久久国产精品免费 | 国产香蕉尹人综合在线观看 | 久久久久久a亚洲欧洲av冫 | 日本va欧美va欧美va精品 | 国产suv精品一区二区五 | 精品久久久久久人妻无码中文字幕 | 少妇性俱乐部纵欲狂欢电影 | 色 综合 欧美 亚洲 国产 | 丝袜 中出 制服 人妻 美腿 | 精品国偷自产在线 | 欧美激情综合亚洲一二区 | 亚洲乱码国产乱码精品精 | 亚洲精品欧美二区三区中文字幕 | 激情爆乳一区二区三区 | 性生交片免费无码看人 | 久久亚洲日韩精品一区二区三区 | 亚洲综合精品香蕉久久网 | 一本久道久久综合狠狠爱 | 黄网在线观看免费网站 | 国产莉萝无码av在线播放 | 国产人妻大战黑人第1集 | 99riav国产精品视频 | 亚洲爆乳大丰满无码专区 | 性啪啪chinese东北女人 | 欧美成人高清在线播放 | 午夜性刺激在线视频免费 | 少妇被粗大的猛进出69影院 | 中文字幕无码免费久久9一区9 | 国产成人人人97超碰超爽8 | 日韩精品成人一区二区三区 | 国产乱人伦av在线无码 | 国产精品99久久精品爆乳 | 无码精品国产va在线观看dvd | 波多野结衣av一区二区全免费观看 | 国产黑色丝袜在线播放 | 丰满护士巨好爽好大乳 | 亚洲爆乳精品无码一区二区三区 | 国産精品久久久久久久 | 中文字幕乱码人妻无码久久 | 人人妻人人澡人人爽欧美精品 | 99麻豆久久久国产精品免费 | 亚洲国产精品美女久久久久 | 亚洲区小说区激情区图片区 | 无人区乱码一区二区三区 | 国产欧美精品一区二区三区 | 国产午夜福利100集发布 | 国产精品亚洲lv粉色 | 国产一区二区三区四区五区加勒比 | 国产在线无码精品电影网 | 亚洲精品国产第一综合99久久 | 日韩少妇内射免费播放 | 亚洲a无码综合a国产av中文 | 国产精品国产自线拍免费软件 | 娇妻被黑人粗大高潮白浆 | 亚洲欧洲日本综合aⅴ在线 | 夜夜躁日日躁狠狠久久av | 国产成人午夜福利在线播放 | 国产午夜福利亚洲第一 | 无码国模国产在线观看 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 少妇被黑人到高潮喷出白浆 | 风流少妇按摩来高潮 | 日韩人妻无码中文字幕视频 | 中文字幕+乱码+中文字幕一区 | 在线精品国产一区二区三区 | 装睡被陌生人摸出水好爽 | 在线观看免费人成视频 | 国产精品人妻一区二区三区四 | 在线观看国产午夜福利片 | 大地资源网第二页免费观看 | 亚洲成a人片在线观看日本 | 午夜免费福利小电影 | 99久久精品无码一区二区毛片 | 亚洲另类伦春色综合小说 | 亚洲色成人中文字幕网站 | 亚洲伊人久久精品影院 | а√资源新版在线天堂 | 久久99精品国产麻豆 | 亚洲一区二区三区国产精华液 | 久久综合香蕉国产蜜臀av | 99国产精品白浆在线观看免费 | 日日天日日夜日日摸 | 无码纯肉视频在线观看 | 精品国产一区二区三区av 性色 | 精品夜夜澡人妻无码av蜜桃 | a在线亚洲男人的天堂 | 欧美人与牲动交xxxx | 美女毛片一区二区三区四区 | 99精品无人区乱码1区2区3区 | 激情内射日本一区二区三区 | 国产精品免费大片 | 国产在线精品一区二区三区直播 | 精品国精品国产自在久国产87 | 人人爽人人澡人人人妻 | 久热国产vs视频在线观看 | 99久久精品午夜一区二区 | 97久久精品无码一区二区 | 成人精品天堂一区二区三区 | 国产乱人伦偷精品视频 | 天堂无码人妻精品一区二区三区 | 伦伦影院午夜理论片 | 久久久久se色偷偷亚洲精品av | 久久久久久av无码免费看大片 | 欧美丰满熟妇xxxx | 欧洲熟妇色 欧美 | 亚洲成a人片在线观看日本 | aⅴ在线视频男人的天堂 | 色婷婷综合激情综在线播放 | 99久久人妻精品免费二区 | 丰满妇女强制高潮18xxxx | 东京热男人av天堂 | 无码人妻av免费一区二区三区 | 亚洲男女内射在线播放 | 丰满人妻一区二区三区免费视频 | 全球成人中文在线 | 成人精品视频一区二区三区尤物 | av无码久久久久不卡免费网站 | 精品久久久久香蕉网 | 乌克兰少妇性做爰 | 国产在线精品一区二区三区直播 | 中文毛片无遮挡高清免费 | 性色欲情网站iwww九文堂 | 性欧美疯狂xxxxbbbb | 国产亚洲精品久久久久久久久动漫 | 伊人久久大香线焦av综合影院 | 女人被爽到呻吟gif动态图视看 | 国产又爽又猛又粗的视频a片 | 久久精品国产一区二区三区肥胖 | 一本加勒比波多野结衣 | 无遮挡国产高潮视频免费观看 | 99精品视频在线观看免费 | 丰满少妇弄高潮了www | 国产精品久久久久久亚洲毛片 | 色妞www精品免费视频 | 国产精品无码一区二区桃花视频 | 露脸叫床粗话东北少妇 | 久久99久久99精品中文字幕 | 日韩少妇白浆无码系列 | 成年女人永久免费看片 | a国产一区二区免费入口 | 性色欲网站人妻丰满中文久久不卡 | 亚洲中文字幕无码一久久区 | 亚洲熟妇自偷自拍另类 | 99久久无码一区人妻 | 丰满人妻翻云覆雨呻吟视频 | 99久久无码一区人妻 | 欧美日韩综合一区二区三区 | 国产人妻大战黑人第1集 | 久久亚洲精品成人无码 | 人妻有码中文字幕在线 | 中文字幕 亚洲精品 第1页 | 人人妻人人澡人人爽欧美一区 | 亚洲爆乳精品无码一区二区三区 | 无套内射视频囯产 | 玩弄少妇高潮ⅹxxxyw | 久久亚洲中文字幕无码 | 理论片87福利理论电影 | 正在播放东北夫妻内射 | 中文精品久久久久人妻不卡 | 欧美国产日产一区二区 | 日韩人妻无码一区二区三区久久99 | 欧美日韩视频无码一区二区三 | 亚洲日韩中文字幕在线播放 | aⅴ亚洲 日韩 色 图网站 播放 | 欧美日韩亚洲国产精品 | 欧美日韩色另类综合 | 成人无码视频在线观看网站 | 久久国产精品萌白酱免费 | 中文字幕久久久久人妻 | 日韩欧美成人免费观看 | 欧美成人高清在线播放 | 黑人粗大猛烈进出高潮视频 | 宝宝好涨水快流出来免费视频 | 一二三四在线观看免费视频 | 人妻与老人中文字幕 | 欧美成人家庭影院 | 少妇性荡欲午夜性开放视频剧场 | 亚洲综合无码久久精品综合 | 亚洲欧美日韩综合久久久 | 超碰97人人做人人爱少妇 | 丰满护士巨好爽好大乳 | 99久久精品无码一区二区毛片 | 国产亚洲视频中文字幕97精品 | 国产莉萝无码av在线播放 | 丰满少妇人妻久久久久久 | 国产麻豆精品精东影业av网站 | 久久国产自偷自偷免费一区调 | 久久天天躁狠狠躁夜夜免费观看 | 无码人妻精品一区二区三区不卡 | 日本熟妇大屁股人妻 | 无码午夜成人1000部免费视频 | 国产精品久免费的黄网站 | 丰满人妻翻云覆雨呻吟视频 | 国产午夜亚洲精品不卡下载 | 高潮毛片无遮挡高清免费视频 | 午夜无码区在线观看 | 日韩精品无码一本二本三本色 | 成年女人永久免费看片 | 国产精品成人av在线观看 | 国产一区二区三区影院 | а√资源新版在线天堂 | 暴力强奷在线播放无码 | 欧洲vodafone精品性 | 窝窝午夜理论片影院 | 免费国产黄网站在线观看 | 色综合久久88色综合天天 | 亚洲精品综合五月久久小说 | 久久天天躁狠狠躁夜夜免费观看 | 色欲久久久天天天综合网精品 | 欧美成人高清在线播放 | 岛国片人妻三上悠亚 | 精品厕所偷拍各类美女tp嘘嘘 | 5858s亚洲色大成网站www | 国产欧美精品一区二区三区 | 亚洲国产欧美国产综合一区 | 中文字幕色婷婷在线视频 | 亚洲国产精品毛片av不卡在线 | 红桃av一区二区三区在线无码av | 欧美精品免费观看二区 | 午夜福利不卡在线视频 | 精品日本一区二区三区在线观看 | 又紧又大又爽精品一区二区 | 亚洲一区二区三区国产精华液 | 久久人妻内射无码一区三区 | 俺去俺来也www色官网 | 中文字幕无码免费久久99 | 国产精华av午夜在线观看 | 天堂无码人妻精品一区二区三区 | 青青草原综合久久大伊人精品 | 国产suv精品一区二区五 | 未满小14洗澡无码视频网站 | 国内老熟妇对白xxxxhd | 久久久久久av无码免费看大片 | 欧美熟妇另类久久久久久不卡 | 国产成人精品一区二区在线小狼 | 2019nv天堂香蕉在线观看 | 国产福利视频一区二区 | 亚洲国产欧美国产综合一区 | 国产黑色丝袜在线播放 | 日韩人妻无码一区二区三区久久99 | 荡女精品导航 | 亚洲精品久久久久久久久久久 | 国产亚洲精品久久久久久大师 | 精品无码国产自产拍在线观看蜜 | 国产精品国产三级国产专播 | 成人av无码一区二区三区 | 思思久久99热只有频精品66 | 欧美喷潮久久久xxxxx | 亚洲自偷自拍另类第1页 | 久久精品国产大片免费观看 | 国产成人综合在线女婷五月99播放 | 成人无码视频免费播放 | 日产国产精品亚洲系列 | 成人动漫在线观看 | 少妇高潮一区二区三区99 | 久久无码专区国产精品s | 67194成是人免费无码 | 亚洲熟妇色xxxxx亚洲 | 色综合久久久无码网中文 | 亚洲 a v无 码免 费 成 人 a v | 55夜色66夜色国产精品视频 | 国产精品多人p群无码 | 久久综合色之久久综合 | 精品人人妻人人澡人人爽人人 | 色婷婷欧美在线播放内射 | 2020久久超碰国产精品最新 | 亚洲精品国产第一综合99久久 | 亚洲中文字幕无码中文字在线 | www成人国产高清内射 | 亚洲精品中文字幕久久久久 | 亚洲色成人中文字幕网站 | 国产人妻精品一区二区三区不卡 | 国产亲子乱弄免费视频 | 欧美亚洲日韩国产人成在线播放 | 美女极度色诱视频国产 | 国产成人无码av片在线观看不卡 | 欧美 日韩 亚洲 在线 | 国产精品久久久久久亚洲影视内衣 | 欧美精品一区二区精品久久 | 亚洲一区二区三区国产精华液 | 亚洲一区二区三区在线观看网站 | 成人精品一区二区三区中文字幕 | 亚洲小说春色综合另类 | 欧美35页视频在线观看 | 亚洲成av人影院在线观看 | 中文字幕乱妇无码av在线 | 又粗又大又硬又长又爽 | av无码久久久久不卡免费网站 | 色欲av亚洲一区无码少妇 | 国产性生大片免费观看性 | 99久久精品午夜一区二区 | 97人妻精品一区二区三区 | 精品少妇爆乳无码av无码专区 | av在线亚洲欧洲日产一区二区 | 精品无码一区二区三区的天堂 | 99久久久无码国产aaa精品 | 青春草在线视频免费观看 | 极品尤物被啪到呻吟喷水 | 国产一区二区三区影院 | 久久天天躁狠狠躁夜夜免费观看 | 国产精品久久精品三级 | 国产精品爱久久久久久久 | 久久亚洲精品中文字幕无男同 | 国产成人精品久久亚洲高清不卡 | 亚洲成a人一区二区三区 | 国色天香社区在线视频 | 中文字幕无线码免费人妻 | 无遮无挡爽爽免费视频 | 国产人妖乱国产精品人妖 | 国产精品久久久久久久影院 | 欧美精品国产综合久久 | 无遮挡国产高潮视频免费观看 | 成人无码精品一区二区三区 | 欧美午夜特黄aaaaaa片 | 精品国产精品久久一区免费式 | 国产真人无遮挡作爱免费视频 | 国产午夜福利100集发布 | 亚洲熟熟妇xxxx | 亚洲色成人中文字幕网站 | 国产绳艺sm调教室论坛 | 性色欲情网站iwww九文堂 | 欧美精品一区二区精品久久 | 亚洲欧美国产精品久久 | 日本xxxx色视频在线观看免费 | 欧美阿v高清资源不卡在线播放 | 国产成人久久精品流白浆 | 国产精品理论片在线观看 | 熟女俱乐部五十路六十路av | 男女下面进入的视频免费午夜 | 高潮喷水的毛片 | 四虎影视成人永久免费观看视频 | 秋霞成人午夜鲁丝一区二区三区 | 国产精品亚洲综合色区韩国 | 水蜜桃亚洲一二三四在线 | 久久无码中文字幕免费影院蜜桃 | 成在人线av无码免费 | 久激情内射婷内射蜜桃人妖 | 欧美高清在线精品一区 | 国产97在线 | 亚洲 | 亚洲综合色区中文字幕 | 国内揄拍国内精品少妇国语 | 亚洲一区二区三区四区 | 国产在线精品一区二区三区直播 | 一个人看的www免费视频在线观看 | 夜先锋av资源网站 | 超碰97人人做人人爱少妇 | 最近的中文字幕在线看视频 | 欧美高清在线精品一区 | 伊人色综合久久天天小片 | 亚洲日韩乱码中文无码蜜桃臀网站 | 18禁黄网站男男禁片免费观看 | 日本成熟视频免费视频 | 日本饥渴人妻欲求不满 | 色一情一乱一伦 | 99久久亚洲精品无码毛片 | 日韩无套无码精品 | 国产精品亚洲一区二区三区喷水 | 99精品久久毛片a片 | 免费人成网站视频在线观看 | 亚洲成av人影院在线观看 | 国产成人亚洲综合无码 | 欧美国产日韩久久mv | 国产av一区二区三区最新精品 | 67194成是人免费无码 | 成 人影片 免费观看 | 久久99精品久久久久久动态图 | 国产一区二区三区四区五区加勒比 | 国产黄在线观看免费观看不卡 | 亚洲综合伊人久久大杳蕉 | 日本成熟视频免费视频 | 久久综合九色综合欧美狠狠 | 美女黄网站人色视频免费国产 | 奇米影视7777久久精品 | 女人被男人躁得好爽免费视频 | 97色伦图片97综合影院 | 亚洲国产精品无码一区二区三区 | 亚洲精品一区二区三区在线观看 | 亚洲综合久久一区二区 | v一区无码内射国产 | 少妇性荡欲午夜性开放视频剧场 | 亚洲欧洲中文日韩av乱码 | 久久久成人毛片无码 | 女人被爽到呻吟gif动态图视看 | 正在播放东北夫妻内射 | 亚洲 a v无 码免 费 成 人 a v | 三上悠亚人妻中文字幕在线 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 日韩av无码一区二区三区 | 亚洲日本一区二区三区在线 | 大胆欧美熟妇xx | 在线成人www免费观看视频 | 人人爽人人爽人人片av亚洲 | 未满成年国产在线观看 | 国产精品久久久久久久影院 | 欧美怡红院免费全部视频 | a在线亚洲男人的天堂 | 丝袜 中出 制服 人妻 美腿 | 少妇激情av一区二区 | 国产成人无码av片在线观看不卡 | 久久国语露脸国产精品电影 | 欧美性黑人极品hd | 玩弄中年熟妇正在播放 | 亚洲乱亚洲乱妇50p | 日韩精品a片一区二区三区妖精 | 国产av一区二区精品久久凹凸 | 亚洲中文字幕成人无码 | 丰满少妇人妻久久久久久 | 强伦人妻一区二区三区视频18 | 大肉大捧一进一出好爽视频 | 东京热无码av男人的天堂 | 日韩精品无码免费一区二区三区 | 九九综合va免费看 | 98国产精品综合一区二区三区 | 亚洲高清偷拍一区二区三区 | 国产情侣作爱视频免费观看 | 欧美freesex黑人又粗又大 | 乱人伦中文视频在线观看 | 国产xxx69麻豆国语对白 | 久久成人a毛片免费观看网站 | 强辱丰满人妻hd中文字幕 | 美女黄网站人色视频免费国产 | 欧美午夜特黄aaaaaa片 | 欧美日韩精品 | 亚洲日韩中文字幕在线播放 | 久久精品一区二区三区四区 | 黑人巨大精品欧美黑寡妇 | 亚洲精品国产a久久久久久 | 亚洲日韩乱码中文无码蜜桃臀网站 | 国产在线一区二区三区四区五区 | √天堂中文官网8在线 | √天堂中文官网8在线 | 精品一区二区不卡无码av | 欧美日本精品一区二区三区 | 无码中文字幕色专区 | 国产精品久久久久久亚洲毛片 | 亚洲成色www久久网站 | 国产在热线精品视频 | 国产凸凹视频一区二区 | 最近的中文字幕在线看视频 | 女人高潮内射99精品 | 国产亚洲精品久久久久久久久动漫 | 无码国模国产在线观看 | 国产精品毛片一区二区 | 免费网站看v片在线18禁无码 | 欧美亚洲日韩国产人成在线播放 | 六月丁香婷婷色狠狠久久 | 国产疯狂伦交大片 | 国产内射爽爽大片视频社区在线 | 丁香啪啪综合成人亚洲 | 人人超人人超碰超国产 | 国产农村乱对白刺激视频 | 激情人妻另类人妻伦 | 黑人巨大精品欧美黑寡妇 | 成年女人永久免费看片 | 无码人妻精品一区二区三区不卡 | 久久综合给合久久狠狠狠97色 | 精品水蜜桃久久久久久久 | 人人妻人人澡人人爽人人精品 | 日本成熟视频免费视频 | 亚洲人成网站在线播放942 | 风流少妇按摩来高潮 | 麻豆成人精品国产免费 | 又大又黄又粗又爽的免费视频 | 99久久精品国产一区二区蜜芽 | 欧美 亚洲 国产 另类 | 精品人妻中文字幕有码在线 | 国内综合精品午夜久久资源 | 日日碰狠狠躁久久躁蜜桃 | 任你躁在线精品免费 | 国产亚洲视频中文字幕97精品 | 丁香花在线影院观看在线播放 | 国产av一区二区三区最新精品 | 国内精品久久毛片一区二区 | 免费看少妇作爱视频 | 图片小说视频一区二区 | 久久亚洲中文字幕无码 | 日日橹狠狠爱欧美视频 | 青草视频在线播放 | 欧美熟妇另类久久久久久多毛 | ass日本丰满熟妇pics | 久久人人97超碰a片精品 | 欧洲熟妇色 欧美 | 丝袜美腿亚洲一区二区 | 俺去俺来也www色官网 | 成人亚洲精品久久久久软件 | 中文字幕av日韩精品一区二区 | 欧美日韩色另类综合 | 色婷婷欧美在线播放内射 | 丰满人妻一区二区三区免费视频 | 捆绑白丝粉色jk震动捧喷白浆 | 97se亚洲精品一区 | 午夜丰满少妇性开放视频 | 麻豆国产人妻欲求不满谁演的 | 亚洲另类伦春色综合小说 | 捆绑白丝粉色jk震动捧喷白浆 | 久久久中文久久久无码 | 久久无码中文字幕免费影院蜜桃 | 国产亚洲精品精品国产亚洲综合 | 国产午夜亚洲精品不卡下载 | 亚洲成色在线综合网站 | 精品国产福利一区二区 | 亚洲精品鲁一鲁一区二区三区 | 国产xxx69麻豆国语对白 | 亚洲自偷自拍另类第1页 | 黑人巨大精品欧美黑寡妇 | 男人的天堂2018无码 | 中文字幕乱码人妻无码久久 | 亚洲七七久久桃花影院 | 亚洲精品一区二区三区婷婷月 | 欧美成人免费全部网站 | 日本精品人妻无码77777 天堂一区人妻无码 | 国产尤物精品视频 | 野狼第一精品社区 | 欧美一区二区三区 | 一区二区传媒有限公司 | 久久久久久久久蜜桃 | 日本xxxx色视频在线观看免费 | 国产超级va在线观看视频 | 色婷婷欧美在线播放内射 | 亚洲欧美中文字幕5发布 | 国产成人精品视频ⅴa片软件竹菊 | 日本精品少妇一区二区三区 | 欧美熟妇另类久久久久久不卡 | av人摸人人人澡人人超碰下载 | 国产成人无码av在线影院 | 久久久久se色偷偷亚洲精品av | 欧美自拍另类欧美综合图片区 | 国产偷自视频区视频 | 久久精品一区二区三区四区 | 日韩无套无码精品 | 麻豆国产人妻欲求不满谁演的 | 久久亚洲精品成人无码 | 天堂亚洲免费视频 | 亚洲无人区午夜福利码高清完整版 | 九九综合va免费看 | 亚洲天堂2017无码中文 | 日韩精品久久久肉伦网站 | 暴力强奷在线播放无码 | 成人免费视频视频在线观看 免费 | 99国产精品白浆在线观看免费 | 黑人粗大猛烈进出高潮视频 | 桃花色综合影院 | 国产 精品 自在自线 | 丰满人妻被黑人猛烈进入 | 日本免费一区二区三区最新 | 动漫av一区二区在线观看 | 国产无套内射久久久国产 | 青青青手机频在线观看 | 国产色xx群视频射精 | 亚洲国产欧美日韩精品一区二区三区 | 亚洲人成人无码网www国产 | 久久精品人人做人人综合 | 国产人成高清在线视频99最全资源 | 精品一二三区久久aaa片 | 俄罗斯老熟妇色xxxx | yw尤物av无码国产在线观看 | 亚洲另类伦春色综合小说 | 麻豆精品国产精华精华液好用吗 | 欧美日本免费一区二区三区 | 国产精品无码久久av | 成人一区二区免费视频 | 午夜不卡av免费 一本久久a久久精品vr综合 | 中文精品无码中文字幕无码专区 | 婷婷五月综合缴情在线视频 | 国产乱人偷精品人妻a片 | 亚洲中文字幕久久无码 | 久久婷婷五月综合色国产香蕉 | 久久久精品欧美一区二区免费 | 又大又紧又粉嫩18p少妇 | 亚洲精品久久久久中文第一幕 | av香港经典三级级 在线 | 久久久久亚洲精品中文字幕 | 两性色午夜免费视频 | 2019nv天堂香蕉在线观看 | 少妇一晚三次一区二区三区 | 免费男性肉肉影院 | 日本www一道久久久免费榴莲 | 亚洲精品无码国产 | 人人澡人人妻人人爽人人蜜桃 | 国产一区二区三区影院 | 亚洲精品国产精品乱码视色 | 亚洲一区av无码专区在线观看 | 鲁大师影院在线观看 | 日韩精品a片一区二区三区妖精 | 性欧美videos高清精品 | 久久精品国产日本波多野结衣 | 国产 浪潮av性色四虎 | 亚洲s色大片在线观看 | 大胆欧美熟妇xx | 国产精品久久精品三级 | 精品人妻人人做人人爽 | 少妇高潮一区二区三区99 | 国产性生交xxxxx无码 | 色一情一乱一伦一视频免费看 | 真人与拘做受免费视频 | 性欧美牲交xxxxx视频 | 老太婆性杂交欧美肥老太 | 无码人妻丰满熟妇区毛片18 | 欧美国产日产一区二区 | 精品乱子伦一区二区三区 | 成人无码精品1区2区3区免费看 | 亚洲中文字幕久久无码 | 国产一区二区三区日韩精品 | 中文精品久久久久人妻不卡 | 国产人妻大战黑人第1集 | 亚洲精品成a人在线观看 | 国产麻豆精品一区二区三区v视界 | 国产小呦泬泬99精品 | 99久久精品午夜一区二区 | 中文无码成人免费视频在线观看 | 捆绑白丝粉色jk震动捧喷白浆 | 久久精品中文字幕大胸 | 国产精品无码一区二区桃花视频 | 色婷婷欧美在线播放内射 | 波多野结衣高清一区二区三区 | 国产乱人伦av在线无码 | 国产午夜福利亚洲第一 | 任你躁在线精品免费 | 嫩b人妻精品一区二区三区 | 蜜桃视频韩日免费播放 | 无码人妻精品一区二区三区不卡 | 美女扒开屁股让男人桶 | 性欧美大战久久久久久久 | 国产精品丝袜黑色高跟鞋 | 久久99精品久久久久久动态图 | 国产亚洲精品久久久久久久久动漫 | 婷婷丁香五月天综合东京热 | 日本免费一区二区三区最新 | 黑森林福利视频导航 | 国产欧美熟妇另类久久久 | 乱中年女人伦av三区 | 久久无码中文字幕免费影院蜜桃 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 真人与拘做受免费视频 | 亚洲国产av精品一区二区蜜芽 | 久热国产vs视频在线观看 | 国产精品沙发午睡系列 | 九一九色国产 | 亚洲阿v天堂在线 | 久久久久99精品成人片 | 久久综合九色综合欧美狠狠 | 色婷婷综合激情综在线播放 | 欧美 日韩 人妻 高清 中文 | 精品一二三区久久aaa片 | 亚洲精品一区二区三区大桥未久 | 香蕉久久久久久av成人 | 亚洲精品无码人妻无码 | 国产性生交xxxxx无码 | 巨爆乳无码视频在线观看 | 熟妇人妻无乱码中文字幕 | 人人妻人人澡人人爽欧美精品 | 3d动漫精品啪啪一区二区中 | www国产亚洲精品久久网站 | 成年美女黄网站色大免费全看 | 中文精品无码中文字幕无码专区 | 国产成人久久精品流白浆 | 人妻熟女一区 | 亚洲中文字幕在线无码一区二区 | 色诱久久久久综合网ywww | 内射爽无广熟女亚洲 | 国产亚av手机在线观看 | 亚洲综合无码久久精品综合 | 久久久中文字幕日本无吗 | 国产黄在线观看免费观看不卡 | 婷婷丁香六月激情综合啪 | 亚洲中文字幕在线无码一区二区 | 强伦人妻一区二区三区视频18 | 亚洲色在线无码国产精品不卡 | 亚洲人成影院在线无码按摩店 | 亚洲区欧美区综合区自拍区 | 亚洲色欲色欲天天天www | 人人妻在人人 | 免费无码一区二区三区蜜桃大 | 一本久久a久久精品vr综合 | 国产在线aaa片一区二区99 | 永久免费观看美女裸体的网站 | 亚洲一区二区三区含羞草 | 99国产精品白浆在线观看免费 | 国产在线aaa片一区二区99 | 国语精品一区二区三区 | 精品厕所偷拍各类美女tp嘘嘘 | 欧美日韩一区二区免费视频 | 国产香蕉97碰碰久久人人 | 未满小14洗澡无码视频网站 | 亚洲色成人中文字幕网站 | 中文久久乱码一区二区 | 台湾无码一区二区 | 国产精品久久久久9999小说 | 狠狠色色综合网站 | 人妻少妇被猛烈进入中文字幕 | 18无码粉嫩小泬无套在线观看 | 荡女精品导航 | 欧美熟妇另类久久久久久不卡 | 无码毛片视频一区二区本码 | 日本va欧美va欧美va精品 | 综合人妻久久一区二区精品 | 蜜臀av无码人妻精品 | 久久婷婷五月综合色国产香蕉 | 亚洲天堂2017无码 | 久久亚洲国产成人精品性色 | 国产乱人伦av在线无码 | 性生交片免费无码看人 | 高中生自慰www网站 | 成人亚洲精品久久久久软件 | 呦交小u女精品视频 | 亚洲大尺度无码无码专区 | 在线播放免费人成毛片乱码 | 美女毛片一区二区三区四区 | 老子影院午夜精品无码 | 亚洲成熟女人毛毛耸耸多 | 亚洲国产精品无码一区二区三区 | 国产亚av手机在线观看 | 日韩在线不卡免费视频一区 | 日本精品人妻无码77777 天堂一区人妻无码 | 国产乱人无码伦av在线a | 动漫av一区二区在线观看 | 青草视频在线播放 | 秋霞成人午夜鲁丝一区二区三区 | 精品久久综合1区2区3区激情 | 四虎影视成人永久免费观看视频 | 我要看www免费看插插视频 | 日韩av激情在线观看 | 乱人伦人妻中文字幕无码久久网 | 乱人伦人妻中文字幕无码久久网 | 午夜肉伦伦影院 | 精品欧美一区二区三区久久久 | 亚洲 欧美 激情 小说 另类 | 精品国产aⅴ无码一区二区 | 欧美性生交活xxxxxdddd | 风流少妇按摩来高潮 | 思思久久99热只有频精品66 | 激情内射日本一区二区三区 | 久久无码中文字幕免费影院蜜桃 | 亚洲性无码av中文字幕 | 国产69精品久久久久app下载 | 99久久久无码国产aaa精品 | 国产熟妇另类久久久久 | 少妇人妻偷人精品无码视频 | 亚洲成a人片在线观看无码 | 红桃av一区二区三区在线无码av | 熟妇人妻中文av无码 | 无码精品国产va在线观看dvd | 国产精品亚洲а∨无码播放麻豆 | 国产另类ts人妖一区二区 | 色 综合 欧美 亚洲 国产 | 午夜不卡av免费 一本久久a久久精品vr综合 | 野狼第一精品社区 | 丰满少妇女裸体bbw | 全球成人中文在线 | 国产做国产爱免费视频 | 国产精品久久久 | 亚洲精品无码国产 | 亚洲精品午夜国产va久久成人 | 亚洲中文字幕成人无码 | 欧美xxxx黑人又粗又长 | 国产明星裸体无码xxxx视频 | 亚洲娇小与黑人巨大交 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 午夜肉伦伦影院 | 久久久久久久久888 | 国产人成高清在线视频99最全资源 | 精品欧洲av无码一区二区三区 | 国产在热线精品视频 | 亚洲国产av精品一区二区蜜芽 | 天天拍夜夜添久久精品大 | 亚洲码国产精品高潮在线 | 福利一区二区三区视频在线观看 | 国产成人无码一二三区视频 | 免费观看激色视频网站 | 日韩精品久久久肉伦网站 | 少妇人妻av毛片在线看 | 成年美女黄网站色大免费视频 | 午夜不卡av免费 一本久久a久久精品vr综合 | 日韩精品无码一本二本三本色 | 欧美三级不卡在线观看 | 国产av无码专区亚洲a∨毛片 | 精品无码国产自产拍在线观看蜜 | www国产亚洲精品久久久日本 | 亚洲国产精品无码久久久久高潮 | 久久这里只有精品视频9 | 麻豆国产丝袜白领秘书在线观看 | 亚洲成在人网站无码天堂 | 亚洲a无码综合a国产av中文 | 色综合久久久久综合一本到桃花网 | 国产精品久久久久久亚洲影视内衣 | 亚洲自偷自拍另类第1页 | 日本又色又爽又黄的a片18禁 | 国产精品二区一区二区aⅴ污介绍 | 国产成人午夜福利在线播放 | 香港三级日本三级妇三级 | 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲七七久久桃花影院 | 欧美日韩视频无码一区二区三 | 亚洲 激情 小说 另类 欧美 | 国产亚洲欧美日韩亚洲中文色 | 国产免费久久久久久无码 | 搡女人真爽免费视频大全 | 日韩精品一区二区av在线 | 熟妇人妻无乱码中文字幕 | 少妇无码av无码专区在线观看 | 人人妻人人澡人人爽欧美一区九九 | av无码电影一区二区三区 | 老熟妇仑乱视频一区二区 | 亚洲精品一区二区三区大桥未久 | 日韩人妻系列无码专区 | 亚洲国产综合无码一区 | 色婷婷综合中文久久一本 | 伊人久久大香线蕉亚洲 | 欧洲熟妇精品视频 | 强奷人妻日本中文字幕 | 婷婷五月综合缴情在线视频 | 亚洲中文字幕在线无码一区二区 | 中文字幕人妻丝袜二区 | 欧美性猛交内射兽交老熟妇 | 18黄暴禁片在线观看 | 一区二区三区乱码在线 | 欧洲 | 午夜精品久久久久久久久 | 亚洲成av人在线观看网址 | 99麻豆久久久国产精品免费 | 精品国产aⅴ无码一区二区 | 小泽玛莉亚一区二区视频在线 | 中文无码成人免费视频在线观看 | 国产猛烈高潮尖叫视频免费 | 俺去俺来也在线www色官网 | 美女张开腿让人桶 | 日韩欧美中文字幕公布 | 日日鲁鲁鲁夜夜爽爽狠狠 | 亚洲成a人片在线观看日本 | 超碰97人人射妻 | 亚洲春色在线视频 | 成熟妇人a片免费看网站 | 免费网站看v片在线18禁无码 | 国产人妻人伦精品 | 亚洲精品国产a久久久久久 | av人摸人人人澡人人超碰下载 | 亚洲一区二区三区 | 欧美日韩视频无码一区二区三 | 无码人妻精品一区二区三区不卡 | 国产高潮视频在线观看 | 日韩成人一区二区三区在线观看 | 天天拍夜夜添久久精品大 | 亚洲一区二区三区香蕉 | yw尤物av无码国产在线观看 | 澳门永久av免费网站 | 国产精品亚洲一区二区三区喷水 | 精品国产一区二区三区av 性色 | 成人一在线视频日韩国产 | 蜜臀aⅴ国产精品久久久国产老师 | 国产精品嫩草久久久久 | 国产乱人无码伦av在线a | 18禁黄网站男男禁片免费观看 | 自拍偷自拍亚洲精品被多人伦好爽 | 欧美一区二区三区 | 爆乳一区二区三区无码 | 1000部夫妻午夜免费 | 中文字幕乱码人妻二区三区 | 国产精品第一区揄拍无码 | 精品成在人线av无码免费看 | 国产精品美女久久久 | 国产成人精品三级麻豆 | √8天堂资源地址中文在线 | 亚洲国产精品久久久久久 | 国产精华av午夜在线观看 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 国产av一区二区精品久久凹凸 | 国产肉丝袜在线观看 | 久久久久免费精品国产 | 欧美日韩人成综合在线播放 | 亚洲自偷自拍另类第1页 | 国产小呦泬泬99精品 | 精品久久久久久人妻无码中文字幕 | 99久久精品无码一区二区毛片 | 久久久久久a亚洲欧洲av冫 | 国产亚洲精品精品国产亚洲综合 | 18禁止看的免费污网站 | 图片小说视频一区二区 | 欧美日韩亚洲国产精品 | 97夜夜澡人人爽人人喊中国片 | 学生妹亚洲一区二区 | 国内精品人妻无码久久久影院 | 成年女人永久免费看片 | 老熟妇仑乱视频一区二区 | 日韩精品久久久肉伦网站 | 国产精品嫩草久久久久 | 久久综合色之久久综合 | 久久久久人妻一区精品色欧美 | 中国大陆精品视频xxxx | 18精品久久久无码午夜福利 | 伊人久久大香线蕉午夜 | 人妻有码中文字幕在线 | 中文亚洲成a人片在线观看 | 久久这里只有精品视频9 | 牲欲强的熟妇农村老妇女视频 | 无码乱肉视频免费大全合集 | 日韩人妻系列无码专区 | 国产无遮挡吃胸膜奶免费看 | 久久 国产 尿 小便 嘘嘘 | 久久久中文久久久无码 | 精品国产一区二区三区四区在线看 | 日产国产精品亚洲系列 | 国产真人无遮挡作爱免费视频 | 精品人妻中文字幕有码在线 | 少妇久久久久久人妻无码 | 麻豆国产人妻欲求不满谁演的 | 国产精品高潮呻吟av久久4虎 | 乱码av麻豆丝袜熟女系列 | 精品人妻人人做人人爽 | 婷婷五月综合激情中文字幕 | 久久精品女人的天堂av | 76少妇精品导航 | 女高中生第一次破苞av | 久久亚洲中文字幕精品一区 | 大胆欧美熟妇xx | 成熟女人特级毛片www免费 | 在线观看免费人成视频 | 国产欧美亚洲精品a | 国产亚洲人成在线播放 | 丰满少妇人妻久久久久久 | 午夜精品一区二区三区在线观看 | 在线播放免费人成毛片乱码 | 国内精品一区二区三区不卡 | 老熟女重囗味hdxx69 | 99久久久无码国产精品免费 | 无码播放一区二区三区 | 久在线观看福利视频 | 亚洲精品久久久久久久久久久 | 一二三四在线观看免费视频 | 欧美真人作爱免费视频 | 天天爽夜夜爽夜夜爽 | 亚洲啪av永久无码精品放毛片 | 国产明星裸体无码xxxx视频 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 无码帝国www无码专区色综合 | 狠狠色色综合网站 | 久久久久人妻一区精品色欧美 | 狠狠色欧美亚洲狠狠色www | 大地资源网第二页免费观看 | 婷婷丁香六月激情综合啪 | 精品无码成人片一区二区98 | 欧美亚洲国产一区二区三区 | 亚洲区欧美区综合区自拍区 | 熟妇女人妻丰满少妇中文字幕 | 免费网站看v片在线18禁无码 | 小sao货水好多真紧h无码视频 | 亚洲小说图区综合在线 | 免费人成在线视频无码 | 无码人妻丰满熟妇区毛片18 | 999久久久国产精品消防器材 | 国精产品一品二品国精品69xx | 初尝人妻少妇中文字幕 | 国内揄拍国内精品少妇国语 | 亚洲精品中文字幕乱码 | 玩弄人妻少妇500系列视频 | 99精品视频在线观看免费 | 丝袜美腿亚洲一区二区 | 色婷婷欧美在线播放内射 | 国产av人人夜夜澡人人爽麻豆 | 欧美性生交活xxxxxdddd | 亚洲中文字幕在线观看 | 亚洲欧美日韩综合久久久 | 国产深夜福利视频在线 | 成 人影片 免费观看 | 中文字幕 人妻熟女 | www国产亚洲精品久久久日本 | 婷婷丁香六月激情综合啪 | 成人无码影片精品久久久 | 亚洲精品成人av在线 | 国精品人妻无码一区二区三区蜜柚 | 中文字幕乱码人妻无码久久 | 日本一卡2卡3卡四卡精品网站 | 精品久久久久久人妻无码中文字幕 | 狠狠色欧美亚洲狠狠色www | 日韩av无码一区二区三区不卡 | 97无码免费人妻超级碰碰夜夜 | 国产亚洲日韩欧美另类第八页 | 人人妻人人澡人人爽人人精品 | 亚洲精品国产精品乱码不卡 | 国产精品国产自线拍免费软件 | 九月婷婷人人澡人人添人人爽 | 亲嘴扒胸摸屁股激烈网站 | 亚洲爆乳大丰满无码专区 | 国产99久久精品一区二区 | 奇米影视7777久久精品人人爽 | 亚洲成熟女人毛毛耸耸多 | 亚洲色www成人永久网址 | 欧洲精品码一区二区三区免费看 | 性色欲情网站iwww九文堂 | 色一情一乱一伦 | 日本乱偷人妻中文字幕 | 国产小呦泬泬99精品 | 久久精品国产精品国产精品污 | 任你躁国产自任一区二区三区 | 国产午夜手机精彩视频 | 男女性色大片免费网站 | 日韩精品无码免费一区二区三区 | 国产成人无码一二三区视频 | 国产97色在线 | 免 | 国产乱人伦偷精品视频 | 日本在线高清不卡免费播放 | 久久久久久久女国产乱让韩 | 国产亚洲视频中文字幕97精品 | 久久国产精品_国产精品 | 国产亚洲人成在线播放 | 午夜精品久久久久久久久 | 自拍偷自拍亚洲精品10p | 999久久久国产精品消防器材 | √天堂资源地址中文在线 | 在线视频网站www色 | 亚洲一区二区观看播放 | 亚洲一区av无码专区在线观看 | 亚洲综合久久一区二区 | 人人爽人人澡人人人妻 | 在线精品国产一区二区三区 | 在线观看欧美一区二区三区 | 久久精品国产一区二区三区 | 性色欲网站人妻丰满中文久久不卡 | 久久综合给久久狠狠97色 | 风流少妇按摩来高潮 | 亚洲无人区一区二区三区 | 蜜桃视频韩日免费播放 | 中文字幕人妻无码一夲道 | 麻花豆传媒剧国产免费mv在线 | 少妇人妻偷人精品无码视频 | 性欧美熟妇videofreesex | 玩弄人妻少妇500系列视频 | 亚洲va中文字幕无码久久不卡 | 少妇无码av无码专区在线观看 | 在线观看国产午夜福利片 | 四虎国产精品免费久久 | 久久午夜无码鲁丝片秋霞 | 成人一在线视频日韩国产 | 亚洲综合无码一区二区三区 | 国产精品无码成人午夜电影 | 午夜福利电影 | 中文字幕精品av一区二区五区 | 色婷婷av一区二区三区之红樱桃 | 欧美日本日韩 | 少妇激情av一区二区 | 乌克兰少妇xxxx做受 | 亚洲热妇无码av在线播放 | 国产成人精品三级麻豆 | 日日天干夜夜狠狠爱 | av人摸人人人澡人人超碰下载 | 丰满肥臀大屁股熟妇激情视频 | 久久久婷婷五月亚洲97号色 | 亚洲高清偷拍一区二区三区 | 国产人妻精品午夜福利免费 | 欧美激情内射喷水高潮 | 亚洲综合无码一区二区三区 | 牲欲强的熟妇农村老妇女 | aⅴ亚洲 日韩 色 图网站 播放 | 欧美刺激性大交 | 丰满肥臀大屁股熟妇激情视频 | 国产无遮挡又黄又爽免费视频 | 国产高清不卡无码视频 | 国产精品久久久一区二区三区 | 久久www免费人成人片 | 国内丰满熟女出轨videos | 国产精品第一国产精品 | 亚洲精品一区二区三区婷婷月 | 亚洲色无码一区二区三区 | 欧洲vodafone精品性 | 国产人妻精品一区二区三区不卡 | 亚洲精品国产第一综合99久久 | 久久午夜无码鲁丝片 | 学生妹亚洲一区二区 | 久久无码专区国产精品s | 牛和人交xxxx欧美 | 色一情一乱一伦一视频免费看 | 无码任你躁久久久久久久 | 免费人成网站视频在线观看 | 精品午夜福利在线观看 | 2019午夜福利不卡片在线 | 成 人影片 免费观看 | 午夜丰满少妇性开放视频 | 国产无遮挡又黄又爽又色 | 色一情一乱一伦 | 又大又紧又粉嫩18p少妇 | 少妇被黑人到高潮喷出白浆 | 成人一在线视频日韩国产 | 东京热无码av男人的天堂 | 免费中文字幕日韩欧美 | 亚洲国产精品久久久天堂 | 大色综合色综合网站 | 99精品久久毛片a片 | 色五月丁香五月综合五月 | 精品国产一区av天美传媒 | 日日麻批免费40分钟无码 | 无码av中文字幕免费放 | 又大又紧又粉嫩18p少妇 | 午夜福利一区二区三区在线观看 | 无码人妻久久一区二区三区不卡 | 婷婷五月综合激情中文字幕 | 日本免费一区二区三区最新 | 国产精品无码mv在线观看 | 国产激情无码一区二区app | 一个人免费观看的www视频 | 一本久道久久综合狠狠爱 | 国产手机在线αⅴ片无码观看 | 国产精品自产拍在线观看 | 日韩无套无码精品 | 欧美xxxx黑人又粗又长 | 国产精品香蕉在线观看 | 国产真人无遮挡作爱免费视频 | 久9re热视频这里只有精品 | 老熟妇仑乱视频一区二区 | 亚洲人成影院在线观看 | 国产明星裸体无码xxxx视频 | 99riav国产精品视频 | 亚洲va中文字幕无码久久不卡 | 午夜免费福利小电影 | 国产人妻精品午夜福利免费 | 亚洲乱码中文字幕在线 | 日韩在线不卡免费视频一区 | 2020久久超碰国产精品最新 | 精品久久久久久人妻无码中文字幕 | 久久国产自偷自偷免费一区调 | 亚洲精品中文字幕 | 精品无码国产一区二区三区av | 精品国产一区二区三区四区在线看 | 国产三级久久久精品麻豆三级 | 国产成人午夜福利在线播放 | 国产成人无码av在线影院 | 狠狠cao日日穞夜夜穞av | a国产一区二区免费入口 | 欧美国产日产一区二区 | 鲁鲁鲁爽爽爽在线视频观看 | 丰满人妻精品国产99aⅴ | 在线播放免费人成毛片乱码 | 久久久www成人免费毛片 | 麻豆国产人妻欲求不满谁演的 | 窝窝午夜理论片影院 | 久久综合九色综合欧美狠狠 | 男人和女人高潮免费网站 | 国产真人无遮挡作爱免费视频 | 中文字幕无码免费久久99 | 色欲人妻aaaaaaa无码 | 色婷婷欧美在线播放内射 | 97无码免费人妻超级碰碰夜夜 | 精品久久久久久人妻无码中文字幕 | 超碰97人人射妻 | 精品aⅴ一区二区三区 | 人人妻人人澡人人爽欧美精品 | 日日橹狠狠爱欧美视频 | 中国大陆精品视频xxxx | 中文精品无码中文字幕无码专区 | 精品国产一区二区三区四区 | 人人澡人人透人人爽 | 97夜夜澡人人爽人人喊中国片 | 巨爆乳无码视频在线观看 | 国内少妇偷人精品视频 | 成在人线av无码免观看麻豆 | 亚洲熟妇自偷自拍另类 | 亚洲国产日韩a在线播放 | 人人澡人人透人人爽 | 成人无码视频免费播放 | 国产内射爽爽大片视频社区在线 | 免费播放一区二区三区 | av人摸人人人澡人人超碰下载 | 亚洲七七久久桃花影院 | 亚欧洲精品在线视频免费观看 | 日韩 欧美 动漫 国产 制服 | 国产欧美精品一区二区三区 | 国产精品久久久久9999小说 | 久久国产精品二国产精品 | 天天摸天天碰天天添 | 牛和人交xxxx欧美 | 55夜色66夜色国产精品视频 | 131美女爱做视频 | 国语精品一区二区三区 | 亚无码乱人伦一区二区 | 色综合视频一区二区三区 | 免费看男女做好爽好硬视频 | 国产极品视觉盛宴 | 精品无码av一区二区三区 | 亚洲国产欧美在线成人 | 亚洲色www成人永久网址 | 国产热a欧美热a在线视频 | 精品欧美一区二区三区久久久 | 精品久久久久香蕉网 | 曰本女人与公拘交酡免费视频 | 在线观看国产一区二区三区 | 亚洲精品中文字幕乱码 | 国产又爽又黄又刺激的视频 | 九月婷婷人人澡人人添人人爽 | 久久精品视频在线看15 | 麻豆国产丝袜白领秘书在线观看 | 欧美性猛交xxxx富婆 | 一区二区三区乱码在线 | 欧洲 | 亚洲精品久久久久久久久久久 | 午夜精品一区二区三区在线观看 | 少妇性l交大片 | 国产做国产爱免费视频 | 国产精品对白交换视频 | 无码成人精品区在线观看 | 成人无码视频在线观看网站 | 99久久精品国产一区二区蜜芽 | 东京无码熟妇人妻av在线网址 | 蜜桃臀无码内射一区二区三区 | 亚洲爆乳精品无码一区二区三区 | 国产两女互慰高潮视频在线观看 | 天天做天天爱天天爽综合网 | 久久99精品国产.久久久久 | 在线亚洲高清揄拍自拍一品区 | 精品国产青草久久久久福利 | 国产另类ts人妖一区二区 | 久久精品成人欧美大片 | 荫蒂添的好舒服视频囗交 | 欧美日韩人成综合在线播放 | 欧美人与禽猛交狂配 | 一区二区传媒有限公司 | 国产精品久久久久9999小说 | 51国偷自产一区二区三区 | 初尝人妻少妇中文字幕 | 偷窥村妇洗澡毛毛多 | 四虎永久在线精品免费网址 | 国产免费久久久久久无码 | 波多野结衣乳巨码无在线观看 | 国产黄在线观看免费观看不卡 | 国产av剧情md精品麻豆 | 我要看www免费看插插视频 | 国产高清av在线播放 | 成熟妇人a片免费看网站 | 日韩 欧美 动漫 国产 制服 | 成人女人看片免费视频放人 | 国内揄拍国内精品少妇国语 | 亚洲熟妇自偷自拍另类 | 国产亚洲精品久久久久久 | 97精品国产97久久久久久免费 | 国产激情无码一区二区 | 中文字幕人妻丝袜二区 | 无码av岛国片在线播放 | 中文字幕无码日韩欧毛 | 国产精品内射视频免费 | 白嫩日本少妇做爰 | 乱码午夜-极国产极内射 | 欧美亚洲国产一区二区三区 | 纯爱无遮挡h肉动漫在线播放 | 天堂а√在线中文在线 | 激情综合激情五月俺也去 | 国产乱人无码伦av在线a | 国产人妻人伦精品1国产丝袜 | 欧美国产日产一区二区 | 久久国产劲爆∧v内射 | 天天燥日日燥 | 国产美女极度色诱视频www | 成人性做爰aaa片免费看 | 色欲综合久久中文字幕网 | 人人妻人人藻人人爽欧美一区 | 大肉大捧一进一出视频出来呀 | 国产高清不卡无码视频 | 宝宝好涨水快流出来免费视频 | 亲嘴扒胸摸屁股激烈网站 | 国产精品手机免费 | 波多野结衣av一区二区全免费观看 | 亚洲成熟女人毛毛耸耸多 | 男女爱爱好爽视频免费看 | 亚洲呦女专区 | 成人影院yy111111在线观看 | 中文字幕av日韩精品一区二区 | 久热国产vs视频在线观看 | 人人妻人人澡人人爽人人精品 | 2020最新国产自产精品 | 国产人妻人伦精品1国产丝袜 | 日韩av无码一区二区三区不卡 | 野狼第一精品社区 | 日本乱人伦片中文三区 | 领导边摸边吃奶边做爽在线观看 | 久久国产精品二国产精品 | 久久国产精品精品国产色婷婷 | 国产亚洲日韩欧美另类第八页 | 又大又黄又粗又爽的免费视频 | 中文无码精品a∨在线观看不卡 | 国产乱子伦视频在线播放 | 国产精品美女久久久 | 色综合久久久久综合一本到桃花网 | 无码人妻精品一区二区三区不卡 | 久久综合九色综合欧美狠狠 | 熟女体下毛毛黑森林 | 亚洲日本va午夜在线电影 | 一个人看的www免费视频在线观看 | 国产熟女一区二区三区四区五区 | 国产精品永久免费视频 | 亚洲精品www久久久 | 色情久久久av熟女人妻网站 | 成熟妇人a片免费看网站 | 高潮毛片无遮挡高清免费视频 | 国产成人精品一区二区在线小狼 | 久精品国产欧美亚洲色aⅴ大片 | 色综合久久久久综合一本到桃花网 | 四虎国产精品一区二区 | 欧美日韩在线亚洲综合国产人 | 亚洲成av人片在线观看无码不卡 | 强奷人妻日本中文字幕 | 国产精品福利视频导航 | 十八禁视频网站在线观看 | 国产舌乚八伦偷品w中 | 在线精品国产一区二区三区 | 九九久久精品国产免费看小说 | 牲欲强的熟妇农村老妇女视频 | 蜜桃视频插满18在线观看 | 永久免费观看美女裸体的网站 | 久久99精品国产麻豆 | 精品国产一区二区三区四区在线看 | 国产无套粉嫩白浆在线 | 国产成人综合色在线观看网站 | 国产色精品久久人妻 | 国产成人无码a区在线观看视频app | 亚洲中文字幕乱码av波多ji | 四十如虎的丰满熟妇啪啪 | 久久视频在线观看精品 | 精品无码av一区二区三区 | 午夜福利电影 | 国产免费观看黄av片 | 在线欧美精品一区二区三区 | 午夜成人1000部免费视频 | 丰满护士巨好爽好大乳 | 最新版天堂资源中文官网 | 久久精品一区二区三区四区 | 一本久道高清无码视频 | a在线亚洲男人的天堂 | 国产三级精品三级男人的天堂 | a在线观看免费网站大全 | 色一情一乱一伦一视频免费看 | 国产成人无码区免费内射一片色欲 | 国内精品人妻无码久久久影院 | 国产偷自视频区视频 | 精品亚洲成av人在线观看 | 国产精品无码永久免费888 | 亚洲精品一区二区三区四区五区 | 日韩欧美中文字幕公布 | 精品人妻人人做人人爽 | 亚洲欧洲日本无在线码 | 国产精品人妻一区二区三区四 | a在线亚洲男人的天堂 | 精品无码av一区二区三区 | 成人片黄网站色大片免费观看 | 免费无码的av片在线观看 | 无码国产色欲xxxxx视频 | 免费乱码人妻系列无码专区 | 中文无码成人免费视频在线观看 | 亚洲欧美综合区丁香五月小说 | 日日干夜夜干 | 亚拍精品一区二区三区探花 | 四虎影视成人永久免费观看视频 | 精品午夜福利在线观看 | 国产精品久久国产精品99 | 久久久久久九九精品久 | 强辱丰满人妻hd中文字幕 | 3d动漫精品啪啪一区二区中 | 国产xxx69麻豆国语对白 | 国产无套内射久久久国产 | yw尤物av无码国产在线观看 | 国产亚洲人成在线播放 | 成 人影片 免费观看 | 亚洲国产午夜精品理论片 | 精品无码国产自产拍在线观看蜜 | 76少妇精品导航 | 在线观看免费人成视频 | 国产亚洲精品久久久ai换 | 国产精品久久久av久久久 | 99久久久无码国产精品免费 | 国产精品办公室沙发 | 精品厕所偷拍各类美女tp嘘嘘 | 欧美一区二区三区 | 最新版天堂资源中文官网 | 桃花色综合影院 | 给我免费的视频在线观看 | 亚洲男人av香蕉爽爽爽爽 | 人人澡人人透人人爽 | 国产一区二区不卡老阿姨 | 国产精品久久久久无码av色戒 | 亚洲热妇无码av在线播放 | 少妇无码av无码专区在线观看 | 成人亚洲精品久久久久 | 久久精品人妻少妇一区二区三区 | 亚洲成a人片在线观看日本 | 无码任你躁久久久久久久 | 一本无码人妻在中文字幕免费 | 欧美丰满少妇xxxx性 | 丰满少妇熟乱xxxxx视频 | 好男人社区资源 | 性啪啪chinese东北女人 | 国产精品igao视频网 | 中文字幕无码免费久久99 | 国产精品无码成人午夜电影 | 日韩欧美群交p片內射中文 | 精品无码av一区二区三区 | 亚洲精品中文字幕久久久久 | 日日鲁鲁鲁夜夜爽爽狠狠 | 久久精品无码一区二区三区 | 国产精品久久久久久无码 | 在线观看国产午夜福利片 | 精品人妻中文字幕有码在线 | 特黄特色大片免费播放器图片 | 成年女人永久免费看片 | 狠狠cao日日穞夜夜穞av | 免费乱码人妻系列无码专区 | 天天av天天av天天透 | 装睡被陌生人摸出水好爽 | 人妻无码αv中文字幕久久琪琪布 | 国产性生交xxxxx无码 | 377p欧洲日本亚洲大胆 | 久久天天躁夜夜躁狠狠 | 97久久精品无码一区二区 | 欧美性猛交内射兽交老熟妇 | 狠狠色噜噜狠狠狠狠7777米奇 | 免费无码午夜福利片69 | 牛和人交xxxx欧美 | 国产午夜无码视频在线观看 | 色婷婷欧美在线播放内射 | 亚洲一区二区三区 | 亚洲 另类 在线 欧美 制服 | 小泽玛莉亚一区二区视频在线 | 欧洲熟妇色 欧美 | 中文字幕无线码 | 女人高潮内射99精品 | 成熟妇人a片免费看网站 | 无码av最新清无码专区吞精 | 国产尤物精品视频 | 久久久久久a亚洲欧洲av冫 | 伊人久久大香线焦av综合影院 | 中文字幕日韩精品一区二区三区 | 成人免费无码大片a毛片 | 人人妻人人澡人人爽人人精品浪潮 | 中文毛片无遮挡高清免费 | 无码国产乱人伦偷精品视频 | 在线а√天堂中文官网 | 日本高清一区免费中文视频 | 国产成人无码a区在线观看视频app | 国产 精品 自在自线 | 亚洲aⅴ无码成人网站国产app | 国产xxx69麻豆国语对白 | 樱花草在线社区www | 一区二区传媒有限公司 | 日韩亚洲欧美精品综合 | 国产高清av在线播放 | 欧美老熟妇乱xxxxx | 国产深夜福利视频在线 | 久久99精品国产麻豆蜜芽 | 欧美乱妇无乱码大黄a片 | 熟妇女人妻丰满少妇中文字幕 | 精品国产一区av天美传媒 | 亚洲精品成人福利网站 | 成人试看120秒体验区 | √天堂资源地址中文在线 | 国产综合色产在线精品 | 免费人成在线观看网站 | 久久久久亚洲精品男人的天堂 | 丰满妇女强制高潮18xxxx | 又粗又大又硬毛片免费看 | av无码不卡在线观看免费 | 欧美丰满熟妇xxxx性ppx人交 | 色爱情人网站 | 亚洲爆乳无码专区 | 欧美人与动性行为视频 | 偷窥日本少妇撒尿chinese | 国产精品久久久久久久9999 | 国产性生交xxxxx无码 | 国产小呦泬泬99精品 | 国产内射爽爽大片视频社区在线 | 色一情一乱一伦一区二区三欧美 | 一本久久a久久精品亚洲 | 欧美性生交xxxxx久久久 | 性色欲情网站iwww九文堂 | 亚洲中文字幕在线观看 | 午夜精品久久久久久久久 | 国产精品资源一区二区 | 国产精品成人av在线观看 | 久久综合九色综合97网 | 高潮毛片无遮挡高清免费视频 | 亚洲人成网站在线播放942 | 思思久久99热只有频精品66 | 欧洲熟妇精品视频 | 性生交大片免费看女人按摩摩 | 国产亚洲tv在线观看 | 精品国产一区av天美传媒 | 天天躁夜夜躁狠狠是什么心态 | 丰满少妇高潮惨叫视频 | 男女下面进入的视频免费午夜 | 久久伊人色av天堂九九小黄鸭 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 性生交片免费无码看人 | 精品无人国产偷自产在线 | 久久aⅴ免费观看 | 亚洲熟熟妇xxxx | 国产国语老龄妇女a片 | 亚洲色偷偷偷综合网 | 亚洲自偷精品视频自拍 | 色欲人妻aaaaaaa无码 | 欧美性生交活xxxxxdddd | 亚洲综合另类小说色区 | 久久99精品国产.久久久久 | 免费人成在线视频无码 | 欧美日韩色另类综合 | 亚洲日韩一区二区 | 成人欧美一区二区三区黑人免费 | 国产精品久久久久久亚洲毛片 | 国产午夜无码视频在线观看 | 国精品人妻无码一区二区三区蜜柚 | 国产av无码专区亚洲awww | 综合激情五月综合激情五月激情1 | 婷婷色婷婷开心五月四房播播 | 国产精品无码mv在线观看 | 欧美第一黄网免费网站 | 久久精品成人欧美大片 | 精品无码一区二区三区爱欲 | 色妞www精品免费视频 | 亚洲精品一区二区三区在线 | 久久无码专区国产精品s | 天堂а√在线地址中文在线 | 免费无码av一区二区 | 国产免费久久精品国产传媒 | 亚洲无人区午夜福利码高清完整版 | 麻豆国产人妻欲求不满 | 色妞www精品免费视频 | 亚洲 a v无 码免 费 成 人 a v | 国产偷国产偷精品高清尤物 | 狠狠色噜噜狠狠狠狠7777米奇 | 97久久国产亚洲精品超碰热 | 国产亚洲精品久久久久久国模美 | 亚洲国产精品无码一区二区三区 | 亚洲国产午夜精品理论片 | 国产成人无码a区在线观看视频app | 国产香蕉97碰碰久久人人 | 亚洲国产高清在线观看视频 | 国产成人精品必看 | 东京热男人av天堂 | 成人试看120秒体验区 | 99久久婷婷国产综合精品青草免费 | 成人免费视频一区二区 | 国产成人无码av片在线观看不卡 | 亚洲精品国产精品乱码不卡 | 国产人妻人伦精品 | 夜夜夜高潮夜夜爽夜夜爰爰 | 亚洲爆乳无码专区 | 中文无码伦av中文字幕 | 国精产品一区二区三区 | 男女爱爱好爽视频免费看 | 高清国产亚洲精品自在久久 | 精品一二三区久久aaa片 | 久久久久人妻一区精品色欧美 | 装睡被陌生人摸出水好爽 | 一区二区三区高清视频一 | 99麻豆久久久国产精品免费 | 人妻天天爽夜夜爽一区二区 | 对白脏话肉麻粗话av | 人人妻人人澡人人爽人人精品浪潮 | 性色欲网站人妻丰满中文久久不卡 | 四十如虎的丰满熟妇啪啪 | 亚洲色欲色欲天天天www | 欧美激情内射喷水高潮 | 国内精品一区二区三区不卡 | 国产成人人人97超碰超爽8 | 18禁止看的免费污网站 | 国产在线一区二区三区四区五区 | 最新版天堂资源中文官网 | 国产精品国产三级国产专播 | 免费人成在线视频无码 | 日本成熟视频免费视频 | 中文字幕乱码中文乱码51精品 | 亚洲午夜久久久影院 | 人妻体内射精一区二区三四 | 高中生自慰www网站 | 亚洲日韩中文字幕在线播放 | 少妇一晚三次一区二区三区 | 在教室伦流澡到高潮hnp视频 | 在线观看国产午夜福利片 | 中文字幕人妻无码一区二区三区 | 亚洲小说春色综合另类 | 少妇久久久久久人妻无码 | 亚洲日韩一区二区三区 | 久久国产精品偷任你爽任你 | 欧美 丝袜 自拍 制服 另类 | 扒开双腿疯狂进出爽爽爽视频 | 欧美xxxx黑人又粗又长 | 天堂无码人妻精品一区二区三区 | 国产精品丝袜黑色高跟鞋 | 成 人 网 站国产免费观看 | 无码人妻黑人中文字幕 | 精品国产成人一区二区三区 | 国产精品毛多多水多 | 内射欧美老妇wbb | 欧美兽交xxxx×视频 | 久久99精品国产麻豆蜜芽 | 内射白嫩少妇超碰 | 内射白嫩少妇超碰 | 亚洲成a人片在线观看无码 | 成人免费无码大片a毛片 | a国产一区二区免费入口 | 午夜福利一区二区三区在线观看 | 黑人巨大精品欧美一区二区 | 毛片内射-百度 | 亚洲无人区午夜福利码高清完整版 | 亚洲精品一区三区三区在线观看 | 中文字幕+乱码+中文字幕一区 | 牲欲强的熟妇农村老妇女 | 爆乳一区二区三区无码 | 精品一区二区三区无码免费视频 | 国产精品理论片在线观看 | 美女极度色诱视频国产 | 美女黄网站人色视频免费国产 | 国产精品国产自线拍免费软件 | 日韩人妻无码一区二区三区久久99 | 亚洲码国产精品高潮在线 | 国产成人综合在线女婷五月99播放 | 18禁黄网站男男禁片免费观看 | 精品夜夜澡人妻无码av蜜桃 | 亚洲日韩乱码中文无码蜜桃臀网站 | 亚洲码国产精品高潮在线 | 成人免费无码大片a毛片 | 九月婷婷人人澡人人添人人爽 | av在线亚洲欧洲日产一区二区 | 国产美女精品一区二区三区 |