国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

自動(dòng)評(píng)論何須學(xué)完爬蟲(chóng),只需要掌握Requests庫(kù)即可

開(kāi)發(fā) 后端
Requests 是用Python語(yǔ)言編寫(xiě),基于 urllib,采用 Apache2 Licensed 開(kāi)源協(xié)議的 HTTP 庫(kù)。它比 urllib 更加方便,可以節(jié)約我們大量的工作,完全滿足 HTTP 測(cè)試需求。

[[414634]]

網(wǎng)絡(luò)庫(kù)requests

其實(shí),我們有專門的網(wǎng)絡(luò)庫(kù)進(jìn)行直接的網(wǎng)絡(luò)請(qǐng)求與處理,它就是requests庫(kù)。在我們開(kāi)始講解與使用之前,需要通過(guò)如下命令進(jìn)行安裝:

  1. pip install requests 

首先,我們先來(lái)看看requests庫(kù)可以進(jìn)行哪些操作:

1.發(fā)送HTTP請(qǐng)求2.上傳文件3.處理Cookie4.支持Session會(huì)話5.使用代理6.身份驗(yàn)證7.打包請(qǐng)求8.SSL證書(shū)驗(yàn)證

下面,我們來(lái)一一介紹這些操作具體是如何實(shí)現(xiàn)的。

發(fā)送HTTP請(qǐng)求

與urllib與urllib3一樣,HTTP請(qǐng)求常用的是GET請(qǐng)求與POST請(qǐng)求。

GET請(qǐng)求

其中,GET請(qǐng)求使用的方式是requests.get()。它可以設(shè)置參數(shù)params,也可以設(shè)置超時(shí)timeout,同時(shí)也可以設(shè)置請(qǐng)求頭headers。

示例如下:

  1. import requests 
  2.  
  3. url = "https://www.csdn.net/" 
  4. headers = { 
  5.     'user-agent''Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' 
  6. result = requests.get(url=url, timeout=1, headers=headers) 
  7. #打印網(wǎng)頁(yè)源代碼 
  8. print(result.text) 
  9. #打印響應(yīng)狀態(tài)碼 
  10. print(result.status_code) 
  11. #打印Cookie 
  12. print(result.cookies) 
  13. #打印result類型 
  14. print(type(result)) 

運(yùn)行之后,輸出如下:

Python爬蟲(chóng):自動(dòng)評(píng)論何須學(xué)完爬蟲(chóng),只需要掌握requests庫(kù)即可

POST請(qǐng)求

接著,我們來(lái)介紹POST請(qǐng)求。這里,我們同樣使用測(cè)試網(wǎng)站http://httpbin.org/post,向它發(fā)送一些數(shù)據(jù)。示例如下:

  1. import requests 
  2.  
  3. url = "http://httpbin.org/post" 
  4.  
  5. data = { 
  6.  
  7. "name""liyuanjing"
  8.  
  9. "age""29" 
  10.  
  11.  
  12. headers = { 
  13.  
  14. 'user-agent''Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' 
  15.  
  16.  
  17. result = requests.post(url=url, timeout=1, headers=headers, data=data) 
  18.  
  19. # 打印網(wǎng)頁(yè)源代碼 
  20.  
  21. print(result.text) 
  22.  
  23. # 將其轉(zhuǎn)換為json 
  24.  
  25. print(result.json()) 

運(yùn)行之后,效果如下:

Python爬蟲(chóng):自動(dòng)評(píng)論何須學(xué)完爬蟲(chóng),只需要掌握requests庫(kù)即可

抓取二進(jìn)制圖片

對(duì)于文本文件的獲取,我們很簡(jiǎn)單地通過(guò)text進(jìn)行處理分析。但是假如我們是獲取的一張圖片顯然text是無(wú)法還原真實(shí)內(nèi)容。

不僅如此,圖片的text是亂碼。所以,我們需要將獲取到的圖片二進(jìn)制數(shù)據(jù)通過(guò)相應(yīng)的API保存為文件。示例代碼如下:

  1. import requests 
  2.  
  3. url = "https://img1.baidu.com/it/u=954496120,1621506021&fm=26&fmt=auto&gp=0.jpg" 
  4. headers = { 
  5.     'user-agent''Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' 
  6. result = requests.get(url=url, timeout=1, headers=headers) 
  7. with open('requests.png''wb'as f: 
  8.     f.write(result.content) 

運(yùn)行之后,就會(huì)在程序目錄的統(tǒng)計(jì)目錄下生成一張圖片,當(dāng)然圖片鏈接讀者可以自己去找。這里的鏈接暫時(shí)有效。

需要注意的是,response.text是Unicode編碼,而response.content是原始二進(jìn)制字節(jié)流,這一點(diǎn)要額外注意,如果網(wǎng)頁(yè)出現(xiàn)亂碼,可以使用response.encoding=”gbk”進(jìn)行設(shè)置解析。

上傳文件

與講解urllib3一樣,我們這里上傳文件的服務(wù)器端口,由flask編寫(xiě)。我們先來(lái)看看服務(wù)器端的代碼:

  1. import flask 
  2. import os 
  3.  
  4. UPLOAD_FILE = 'uploads' 
  5. app = flask.Flask(__name__) 
  6. @app.route('/', methods=['POST']) 
  7. def upload_file(): 
  8.     file = flask.request.files['file'
  9.     if file: 
  10.         file.save(os.path.join(UPLOAD_FILE, os.path.basename(file.filename))) 
  11.         return '文件上傳成功' 
  12.     else
  13.         return '文件上傳失敗' 
  14.  
  15. if __name__ == '__main__'
  16.     app.run() 

運(yùn)行此段代碼,默認(rèn)會(huì)一直運(yùn)行等待下去。

而使用requests進(jìn)行文件的上傳,也非常的簡(jiǎn)單,因?yàn)槲募蟼魇荘ost請(qǐng)求,我們只需要設(shè)置file參數(shù)。示例如下:

  1. import requests 
  2.  
  3. url = "http://127.0.0.1:5000" 
  4. headers = { 
  5.     'user-agent''Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' 
  6. files = { 
  7.     "file"open('123.png''rb'
  8. result = requests.post(url=url, files=files) 
  9. print(result.text) 

運(yùn)行之后,會(huì)在項(xiàng)目文件uploads文件夾下多一個(gè)123.png圖片,當(dāng)然123上傳時(shí)的文件必須存在。同時(shí)也要事先創(chuàng)建uploads文件夾。

處理Cookie

一般來(lái)說(shuō),爬蟲(chóng)分為2個(gè)部分:首先是登錄,然后才是爬取。而在登錄時(shí),我們一般使用selenium,進(jìn)行cookie的返回。

接著使用requests進(jìn)行爬取網(wǎng)頁(yè)的源代碼,因?yàn)閟elenium是一個(gè)專門的庫(kù),后面我們會(huì)介紹,這里我們先假設(shè)我們獲取到了cookie。

直接將Cookie設(shè)置到請(qǐng)求頭

為了更有意思,我們?cè)赾hrome按F12之后,用瀏覽器評(píng)論一個(gè)CSDN帖子,會(huì)捕捉到如下圖所示的請(qǐng)求數(shù)據(jù):

Python爬蟲(chóng):自動(dòng)評(píng)論何須學(xué)完爬蟲(chóng),只需要掌握requests庫(kù)即可

這里,我們可以復(fù)制cookie數(shù)據(jù)到我們的headers之中。

同時(shí)下面有一個(gè)提交表單,其中,content是我們?cè)u(píng)論CSDN的內(nèi)容,articleId是我們?cè)u(píng)論CSDN的帖子,讀者可以自己看看CSDN帖子是否有一串?dāng)?shù)字。

通過(guò)請(qǐng)求頭,評(píng)論CSDN

那么,我們可以仿照這個(gè)請(qǐng)求連接,通過(guò)requests完成CSDN的評(píng)論操作,示例代碼如下所示:

  1. import requests 
  2.  
  3. url = "https://blog.csdn.net/phoenix/web/v1/comment/submit" 
  4. headers = { 
  5.     'user-agent''Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
  6.     'cookie''CSDN登錄后返回的cookie'
  7. data = { 
  8.     "commentId"""
  9.     "content""最近正在學(xué)習(xí)剛好能用上"
  10.     "articleId""118750834"
  11. result = requests.post(url=url, data=data, headers=headers) 
  12. print(result.status_code) 

運(yùn)行之后,控制臺(tái)會(huì)輸出200,同時(shí)評(píng)論帖子下面會(huì)多出一條評(píng)論數(shù)據(jù),如下圖所示:

Python爬蟲(chóng):自動(dòng)評(píng)論何須學(xué)完爬蟲(chóng),只需要掌握requests庫(kù)即可

RequestsCookieJar()

除了通過(guò)請(qǐng)求頭設(shè)置Cookie進(jìn)行訪問(wèn)之外,其實(shí)我們的post()方法還有一個(gè)專門的cookies參數(shù),它用于接收RequestsCookieJar對(duì)象。

示例如下:

  1. import requests 
  2.  
  3. url = "https://blog.csdn.net/phoenix/web/v1/comment/submit" 
  4. headers = { 
  5.     'user-agent''Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
  6. cookieStr = 'CSDN登錄后返回的cookie' 
  7. data = { 
  8.     "commentId"""
  9.     "content""最近正在學(xué)習(xí)剛好能用上"
  10.     "articleId""118517922"
  11.  
  12. jar = requests.cookies.RequestsCookieJar() 
  13. for cookie in cookieStr.split(";"): 
  14.     key, value = cookie.split('=', 1) 
  15.     jar.set(key, value) 
  16. result = requests.post(url=url, data=data, headers=headers, cookies=jar) 
  17. print(result.status_code) 

這段代碼與前文運(yùn)行效果一樣,這里不再輸出運(yùn)行結(jié)果,僅僅只是cookie使用方式的不同形式。

Session會(huì)話

cookie數(shù)據(jù)保存在客戶端,session數(shù)據(jù)保存在服務(wù)器端,一個(gè)Session代表一個(gè)特定的客戶端。那么如何在特定的客戶端與服務(wù)器端的Session對(duì)象之間建立聯(lián)系呢?

通常就是不斷在客戶端與服務(wù)器端之間來(lái)回傳遞一個(gè)ID,通過(guò)這個(gè)ID,客戶端就能在服務(wù)器端找到對(duì)應(yīng)的Session對(duì)象。

在實(shí)際的爬蟲(chóng)項(xiàng)目中,有時(shí)候需要使用同一個(gè)客戶端來(lái)多次抓取頁(yè)面,就可以用到Session。示例代碼如下:

  1. result = requests.post(url=url, data=data, headers=headers, cookies=jar) 
  2. session = requests.Session() 
  3. r2 = session.post(url=url, data=data, headers=headers, cookies=jar) 
  4. print(r2.status_code) 

這里,我們將上面的Cookie代碼改一改即可。

使用代理

對(duì)于requests庫(kù)來(lái)說(shuō),使用代理非常簡(jiǎn)單,因?yàn)間et與post函數(shù)都有一個(gè)proxies參數(shù),用于設(shè)置代理即可。示例如下:

  1. import requests 
  2.  
  3. url = "https://www.csdn.net/" 
  4. headers = { 
  5.     'user-agent''Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
  6. proxies = { 
  7.     'http''http://183.47.138.80:8888'
  8.     'http''http://125.78.226.217:8888' 
  9. result = requests.post(url=url, proxies=proxies) 

需要注意的是,這里的代理IP博主測(cè)試的時(shí)候是有效的,但讀者可能讀到的時(shí)候已經(jīng)失效,讀者可以自己去網(wǎng)絡(luò)搜尋免費(fèi)的代理測(cè)試。

除了基本的HTTP代理,Request還支持SOCKS協(xié)議的代理。這是一個(gè)可選的功能,若要使用,需要使用下面的命令安裝第三方庫(kù)。

  1. pip install requests[socks] 

安裝完成之后,替換proxies即可。

  1. proxies = { 
  2.     'http''socks5://user:pass@host:port'
  3.     'https''socks5://user:pass@host:port' 

身份驗(yàn)證

requests庫(kù)還提供了身份驗(yàn)證功能,其中,get與post方法有一個(gè)auth參數(shù)專門用于身份驗(yàn)證,傳入的參數(shù)是HTTPBasicAuth,示例代碼如下:

  1. import requests 
  2. from requests.auth import HTTPBasicAuth 
  3.  
  4. url = "https://www.csdn.net/" 
  5. headers = { 
  6.     'user-agent''Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
  7.  
  8. result = requests.post(url=url, auth=HTTPBasicAuth('name''password')) 
  9. print(result.status_code) 

這里,只是給讀者展示如何通過(guò)代碼進(jìn)行身份驗(yàn)證,如果你自己編寫(xiě)服務(wù)器,可以通過(guò)如上代碼進(jìn)行操作,這里就不編寫(xiě)了。

打包請(qǐng)求

不管是上面的get請(qǐng)求還是post請(qǐng)求,我們都是通過(guò)requests.get或者requests.post進(jìn)行操作的,但其實(shí)我們可以將請(qǐng)求參數(shù)單獨(dú)列出來(lái)打包。

也就是,俗稱的封裝。示例代碼如下所示:

  1. import requests 
  2.  
  3. url = "https://www.csdn.net/" 
  4. headers = { 
  5.     'user-agent''Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
  6.  
  7. req = requests.Request('get', url=url, headers=headers) 
  8. session = requests.Session() 
  9. prepared = session.prepare_request(req) 
  10. result = session.send(prepared) 
  11. print(result.text) 

這里,通過(guò)Request進(jìn)行封裝請(qǐng)求數(shù)據(jù),然后調(diào)用Session的prepare_request方法處理Request對(duì)象,并返回一個(gè)requests.models.Response對(duì)象。

最后,通過(guò)Session.send方法發(fā)送Response對(duì)象。

SLL證書(shū)驗(yàn)證

在requests請(qǐng)求中,有一個(gè)verify的參數(shù)。訪問(wèn)HTTPS時(shí),如果需要驗(yàn)證SSL證書(shū),可以不設(shè)置該數(shù)據(jù),它默認(rèn)為True表示驗(yàn)證證書(shū)。

如果不需要驗(yàn)證證書(shū),可以設(shè)置verify等于False,那么就不會(huì)進(jìn)行驗(yàn)證。驗(yàn)證的代碼很簡(jiǎn)單,就是什么也不用做即可,代碼如下:

  1. import requests 
  2.  
  3. try: 
  4.     url = "https://www.csdn.net/" 
  5.     result = requests.get(url) 
  6.     print(result.status_code) 
  7. except requests.exceptions.SSLError as e: 
  8.     print(e.args[0]) 

如果你的網(wǎng)站沒(méi)有SLL證書(shū),或者證書(shū)未經(jīng)過(guò)權(quán)威機(jī)構(gòu)認(rèn)證,則會(huì)拋出SSLError異常。

如果你的網(wǎng)站有SLL證書(shū),且經(jīng)過(guò)了權(quán)威的認(rèn)證,那么就不會(huì)拋出異常。

而如果你不想驗(yàn)證證書(shū)的話,可以將代碼修改為如下代碼:

  1. import requests 
  2.  
  3. try: 
  4.     urllib3.disable_warnings() 
  5.     url = "https://www.csdn.net/" 
  6.     result = requests.get(url, verify=False
  7.     print(result.status_code) 
  8. except requests.exceptions.SSLError as e: 
  9.     print(e.args[0]) 

不過(guò),它會(huì)報(bào)InsecureRequestWarning警告信息,如果需要禁止輸出警告信息,可以使用urllib3.disable_warnings()進(jìn)行屏蔽。

 

責(zé)任編輯:姜華 來(lái)源: 今日頭條
相關(guān)推薦

2021-03-02 15:00:34

Python爬蟲(chóng)數(shù)據(jù)

2016-12-13 17:02:49

androidjava移動(dòng)應(yīng)用開(kāi)發(fā)

2023-05-23 10:01:51

冪等性抽象代數(shù)

2018-03-07 10:03:40

2009-04-09 16:52:47

LinuxUbuntu 9.04

2023-09-05 07:55:56

Python網(wǎng)絡(luò)爬蟲(chóng)

2018-08-03 12:21:02

2021-07-13 08:14:27

色彩用色類型輔助色

2021-04-16 09:17:39

機(jī)器學(xué)習(xí)人工智能AI

2018-01-09 15:44:57

2010-03-16 16:47:25

Ubuntu 9.04

2019-10-28 11:30:43

架構(gòu)數(shù)據(jù)結(jié)構(gòu)布隆過(guò)濾器

2023-10-11 12:45:49

Windows系統(tǒng)

2018-01-05 15:36:12

工具博客寫(xiě)作

2021-02-03 11:20:41

Docker架構(gòu)容器

2022-10-08 06:26:48

人工智能機(jī)器學(xué)習(xí)藝術(shù)

2020-10-24 20:10:40

Python 開(kāi)發(fā)編程語(yǔ)言

2020-02-25 23:36:04

代碼開(kāi)發(fā)工具

2025-11-21 09:00:13

2020-07-21 08:42:16

搞垮服務(wù)器日志
點(diǎn)贊
收藏

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

日韩理论片在线观看| 在线观看免费黄色片| 欧美手机在线视频| 欧美在线视频免费播放| 波多野结衣xxxx| 午夜久久久久久久久| 亚洲美女黄色| 91精品国产91综合久久蜜臀| 国产激情美女久久久久久吹潮| 日本xxxx高清色视频| 波多野结衣在线一区二区 | 久久久久久久| 91在线一区二区| 国产精品v片在线观看不卡| 欧洲综合视频| 成人手机电影网| 一女二男3p波多野结衣| 国产精品久久久久久久天堂第1集 国产精品久久久久久久免费大片 国产精品久久久久久久久婷婷 | 日韩av首页| 91精品国产品国语在线不卡| youjizz.com亚洲| 波多野结衣在线播放一区| 成人美女黄网站| 欧美精品播放| 亚洲高清乱码| 国产欧美日本一区二区三区| 国产乱真实合集| 精品国内片67194| 精品一区在线| 神马影院一区二区三区| 国产女人aaa级久久久级| 99se视频在线观看| 狠狠精品干练久久久无码中文字幕| 隔壁老王国产在线精品| 宅男午夜在线| 亚洲精品www久久久久久广东| 91精品店在线| 亚洲free嫩bbb| 成人性生交大片免费看中文 | 日韩精品中文字幕一区二区| 91精品在线影院| 成人激情文学综合网| 在线国产一级| 亚洲夜晚福利在线观看| 欧美日韩精品| 黑巨人与欧美精品一区| 日韩精品一区二区三区swag| 久久视频在线观看| 精品一区二区三区无码视频| 欧美色图第一页| 国产亚洲一卡2卡3卡4卡新区| 亚洲免费不卡| 91精品国产91久久综合桃花| 久久av免费| 久久这里只精品| 免费97视频在线精品国自产拍| 蜜桃视频在线一区| 91在线播放网站| 亚洲一区亚洲二区| 一个色综合av| 欧洲亚洲视频| 99精产国品一二三产品香蕉| 欧美国产精品人人做人人爱| 国产99精品一区| 深田咏美在线x99av| 久久91精品国产91久久小草| 激情五月亚洲色图| 国产麻豆一区二区三区在线观看| 国产精品2023| 国产欧美亚洲日本| 91丨porny丨国产| 男女网站在线观看| 中日韩美女免费视频网址在线观看| 欧美热在线视频精品999| 日本免费高清一区| 日韩一区欧美一区| 色呦呦久久久| 日本成人免费在线| 国产一区二区伦理片| 天堂在线看视频| 日韩精品一区二区视频| 精品视频免费在线观看| 超碰在线免费观看97| 午夜精品福利一区二区三区蜜桃| 自拍在线观看| 99re视频在线播放| 国产日韩精品一区二区三区 | 成人国产在线视频| 国产精品一级二级三级| 日本国产在线| 欧美刺激性大交免费视频| 亚洲经典一区| 日本久久久久久久久久久久| 欧美丰满美乳xxx高潮www| 美国十次av导航亚洲入口| 最新av在线免费观看| 在线欧美日韩精品| 自拍偷拍一区| 男人用嘴添女人下身免费视频| 欧美乱熟臀69xxxxxx| 成人a'v在线播放| 成人免费毛片播放| 精品视频在线播放免| 欧美日韩国内| 日日噜噜夜夜狠狠视频| 久久天天躁狠狠躁老女人| 免费观看在线色综合| 懂色一区二区三区| 国产精品久久久久久久久影视| 337p粉嫩大胆色噜噜噜噜亚洲| 91麻豆一二三四在线| 99视频免费观看蜜桃视频| 亚洲蜜臀av乱码久久精品| 在线观看亚洲精品福利片| 日本亚洲自拍| 欧美亚洲动漫精品| 97精品国产| 麻豆av观看| 51精品在线观看| 亚洲国产激情av| 综合激情五月婷婷| 日韩av在线综合| 日韩在线视频观看| 粉嫩嫩av羞羞动漫久久久| 中文在线а√天堂| 亚洲欧洲一区二区福利| 欧美大片日本大片免费观看| 麻豆亚洲精品| 黄色在线免费网站| 欧美日韩精品免费在线观看视频| 欧美偷拍一区二区| 99精品国产在热久久婷婷| 国产黄在线看| 国产精品国产精品国产专区蜜臀ah| 日本久久精品电影| 一区二区日韩免费看| 顶级网黄在线播放| 视频二区一区| 亚洲精品天天看| 高清成人免费视频| 亚洲人成网站在线在线观看| 色诱视频在线观看| 91国内免费在线视频| 亚洲精品欧美综合四区| 久久国产电影| 888av在线| 尤物一区二区三区| 丝袜亚洲欧美日韩综合| 91日韩精品一区| 欧美顶级毛片在线播放| 黄色污网站在线免费观看| 99国产超薄肉色丝袜交足的后果 | 男人搞女人网站| 欧美在线观看网站| 亚洲已满18点击进入久久| 成人6969www免费视频| 三级视频网站在线| 久久亚洲精品欧美| 亚洲免费av电影| 久久久99精品免费观看不卡| 亚洲精品亚洲人成在线观看| 污网站在线播放| 欧美一级二级三级| 色噜噜国产精品视频一区二区| 国产日韩三级在线| 999成人网| 福利写真视频网站在线| 日韩av三级在线| 成人亚洲激情网| 亚洲国模精品一区| 中文字幕一区在线| 中文亚洲欧美| 国产精一区二区| 日本成人一区| www.国产在线播放| 国产精品午夜视频| 亚洲国产精品va| 中文字幕五月欧美| 久久国产精品久久久久久电车| 国产美女高潮在线观看| 国产真人无码作爱视频免费| 成人免费网站在线| 亚洲色图五月天| 午夜久久久影院| 国产曰批免费观看久久久| 四虎884aa成人精品最新| 1024在线播放| 国产不卡视频| 少妇高潮大叫好爽喷水| 国产激情综合五月久久| 亚洲精品资源美女情侣酒店| 成人午夜视频免费在线观看| 成年丰满熟妇午夜免费视频| 国产精品欧美一区二区| 国产精品毛片久久久久久| 欧美在线免费一级片| 不卡亚洲精品| 免费人成在线观看播放视频| 国产在线观看福利| 久久人人97超碰人人澡爱香蕉|