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

一名合格的數據分析師分享Python網絡爬蟲二三事(綜合實戰案例)

開發 開發工具
作為一名合格的數據分析師,其完整的技術知識體系必須貫穿數據獲取、數據存儲、數據提取、數據分析、數據挖掘、數據可視化等各大部分。

接上篇文章《一名合格的數據分析師分享Python網絡爬蟲二三事》

[[184074]]

五、綜合實戰案例

1. 爬取靜態網頁數據

(1)需求

爬取豆瓣網出版社名字并分別存儲到excel、txt與MySQL數據庫中。

(2)分析

  • 查看源碼
  • Ctrl+F搜索任意出版社名字,如博集天卷
  • 確定正則模式
  1. "<div class="name">(.*?)</div>"  

(3)思路

  • 下載目標頁面
  • 正則匹配目標內容
  • Python列表存儲
  • 寫入Excel/txt/MySQL

(4)源碼

  1. ''信息存儲'''import urllibimport reimport xlsxwriterimport MySQLdb#-----------------(1)存儲到excel與txt-------------------------#def gxls_concent(target_url,pat): 
  2.     ''' 
  3. 功能:爬取數據 
  4.     @target_url:爬取目標網址 
  5.     @pat:數據過濾模式 
  6.     ''' 
  7.     data = urllib.request.urlopen(target_url).read() 
  8.     reret_concent = re.compile(pat).findall(str(data,'utf-8')) 
  9.     return ret_concentdef wxls_concent(ret_xls,ret_concent): 
  10.     ''' 
  11.     功能:將最終結果寫入douban.xls中 
  12.     @ret_xls:最終結果存儲excel表的路徑 
  13.     @ret_concent:爬取數據結果列表 
  14.     ''' 
  15.     # 打開最終寫入的文件 
  16.     wb1 = xlsxwriter.Workbook(ret_xls) 
  17.     # 創建一個sheet工作對象 
  18.     ws = wb1.add_worksheet() 
  19.     try: 
  20.         for i in range(len(ret_concent)): 
  21.             data = ret_concent[i] 
  22.             ws.write(i,0,data) 
  23.         wb1.close() 
  24.     except Exception as er: 
  25.         print('寫入“'+ret_xls+'”文件時出現錯誤') 
  26.         print(er)    def wtxt_concent(ret_txt,ret_concent): 
  27.     ''' 
  28.     功能:將最終結果寫入douban.txt中 
  29.     @ret_xls:最終結果存儲excel表的路徑 
  30.     @ret_concent:爬取數據結果列表 
  31.     ''' 
  32.     fh = open(ret_txt,"wb") 
  33.     try: 
  34.         for i in range(len(ret_concent)): 
  35.             data = ret_concent[i] 
  36.             datadata = data+"\r\n" 
  37.             datadata = data.encode() 
  38.             fh.write(data) 
  39.     except Exception as er: 
  40.         print('寫入“'+ret_txt+'”文件時出現錯誤') 
  41.         print(er)   
  42.     fh.close()def mainXlsTxt(): 
  43.     ''' 
  44.     功能:將數據存儲到excel表中 
  45.     ''' 
  46.     target_url = 'https://read.douban.com/provider/all'  # 爬取目標網址 
  47.     pat = '<div>(.*?)</div>' # 爬取模式 
  48.     ret_xls = "F:/spider_ret/douban.xls"   # excel文件路徑 
  49.     ret_txt = "F:/spider_ret/douban.txt"   # txt文件路徑 
  50.     ret_concent = gxls_concent(target_url,pat) # 獲取數據 
  51.     wxls_concent(ret_xls,ret_concent) # 寫入excel表 
  52.     wtxt_concent(ret_txt,ret_concent) # 寫入txt文件  #---------------------END(1)--------------------------------##-------------------(2)存儲到MySQL---------------------------#def db_con(): 
  53.     ''' 
  54.     功能:連接MySQL數據庫 
  55.     ''' 
  56.     con = MySQLdb.connect( 
  57.         host='localhost',  # port 
  58.         user='root',       # usr_name 
  59.         passwd='xxxx',     # passname 
  60.         db='urllib_data',  # db_name 
  61.         charset='utf8'
  62.         local_infile = 1 
  63.         ) 
  64.     return con   def exeSQL(sql): 
  65.     ''' 
  66. 功能:數據庫查詢函數 
  67.     @sql:定義SQL語句 
  68.     ''' 
  69.     print("exeSQL: " + sql) 
  70.     #連接數據庫 
  71.     con = db_con() 
  72.     con.query(sql)   def gdb_concent(target_url,pat): 
  73.     ''' 
  74.     功能:轉換爬取數據為插入數據庫格式:[[value_1],[value_2],...,[value_n]] 
  75.     @target_url:爬取目標網址 
  76.     @pat:數據過濾模式 
  77.     ''' 
  78.     tmp_concent = gxls_concent(target_url,pat) 
  79.     ret_concent = []    
  80.     for i in range(len(tmp_concent)): 
  81.         ret_concent.append([tmp_concent[i]]) 
  82.     return ret_concentdef wdb_concent(tbl_name,ret_concent): 
  83.     ''' 
  84.     功能:將爬取結果寫入MySQL數據庫中 
  85.     @tbl_name:數據表名 
  86.     @ret_concent:爬取數據結果列表 
  87.     ''' 
  88.     exeSQL("drop table if exists " + tbl_name) 
  89.     exeSQL("create table " + tbl_name + "(pro_name VARCHAR(100));") 
  90.     insert_sql = "insert into " + tbl_name + " values(%s);" 
  91.     con = db_con() 
  92.     cursor = con.cursor() 
  93.     try: 
  94.         cursor.executemany(insert_sql,ret_concent) 
  95.     except Exception as er: 
  96.         print('執行MySQL:"' + str(insert_sql) + '"時出錯')         
  97.         print(er) 
  98.     finally: 
  99.         cursor.close()         
  100.         con.commit() 
  101.         con.close()def mainDb(): 
  102.     ''' 
  103.     功能:將數據存儲到MySQL數據庫中 
  104.     ''' 
  105.     target_url = 'https://read.douban.com/provider/all'  # 爬取目標網址 
  106.     pat = '<div>(.*?)</div>' # 爬取模式 
  107.     tbl_name = "provider" # 數據表名 
  108.     # 獲取數據 
  109.     ret_concent = gdb_concent(target_url,pat) 
  110.     # 寫入MySQL數據庫 
  111.     wdb_concent(tbl_name,ret_concent)  #---------------------END(2)--------------------------------#if __name__ == '__main__': 
  112.     mainXlsTxt() 
  113. mainDb() 


(5)結果

 爬取靜態網頁數據

2. 爬取基于Ajax技術網頁數據

(1)需求

爬取拉勾網廣州的數據挖掘崗位信息并存儲到本地Excel文件中

(2)分析

a. 崗位數據在哪里?

  • 打開拉勾網==》輸入關鍵詞“數據挖掘”==》查看源碼==》沒發現崗位信息
  • 打開拉勾網==》輸入關鍵詞“數據挖掘”==》按F12==》Network刷新==》按下圖操作

我們可以發現存在position和company開頭的json文件,這很可能就是我們所需要的崗位信息,右擊選擇open link in new tab,可以發現其就是我們所需的內容。

右擊選擇open link in new tab

b. 如何實現翻頁?

我們在寫爬蟲的時候需要多頁爬取,自動模擬換頁操作。首先我們點擊下一頁,可以看到url沒有改變,這也就是Ajax(異步加載)的技術。點擊position的json文件,在右側點擊Headers欄,可以發現***部有如下內容:

在右側點擊Headers欄

當我們換頁的時候pn則變為2且first變為false,故我們可以通過構造post表單進行爬取。

c. Json數據結構怎么樣?

Json數據結構

(3)源碼

  1. import urllib.requestimport urllib.parseimport socketfrom multiprocessing.dummy import Poolimport jsonimport timeimport xlsxwriter#----------------------------------------------------------#######(1)獲取代理IP###def getProxies(): 
  2.   ''' 
  3.   功能:調用API獲取原始代理IP池 
  4.   ''' 
  5.   url = "http://api.xicidaili.com/free2016.txt" 
  6.   i_headers={"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.22 Safari/537.36 SE 2.X MetaSr 1.0"} 
  7.   global proxy_addr 
  8.   proxy_addr = [] 
  9.   try: 
  10.       req = urllib.request.Request(url,headers = i_headers
  11.       proxy = urllib.request.urlopen(req).read() 
  12.       proxyproxy = proxy.decode('utf-8') 
  13.       proxyproxy_addr = proxy.split('\r\n')  #設置分隔符為換行符 
  14.   except Exception as er: 
  15.       print(er) 
  16.   return proxy_addr   def testProxy(curr_ip): 
  17.   ''' 
  18.   功能:利用百度首頁,逐個驗證代理IP的有效性 
  19.   @curr_ip:當前被驗證的IP 
  20.   ''' 
  21.   socket.setdefaulttimeout(5)  #設置全局超時時間 
  22.   tarURL = "https://www.baidu.com/"  #測試網址 
  23.   proxy_ip = [] 
  24.   try: 
  25.       proxy_support = urllib.request.ProxyHandler({"http":curr_ip}) 
  26.       opener = urllib.request.build_opener(proxy_support) 
  27.       opener.addheaders=[("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.22 Safari/537.36 SE 2.X MetaSr 1.0")] 
  28.       urllib.request.install_opener(opener) 
  29.       res = urllib.request.urlopen(tarURL).read() 
  30.       proxy_ip.append(curr_ip) 
  31.       print(len(res)) 
  32.   except Exception as er: 
  33.       print("驗證代理IP("+curr_ip+")時發生錯誤:"+er) 
  34.   return proxy_ip   def mulTestProxies(proxies_ip): 
  35.   ''' 
  36.   功能:構建多進程驗證所有代理IP 
  37.   @proxies_ip:代理IP池 
  38.   ''' 
  39.   pool = Pool(processes=4)  #開啟四個進程 
  40.   proxies_addr = pool.map(testProxy,proxies_ip) 
  41.   pool.close() 
  42.   pool.join()  #等待進程池中的worker進程執行完畢 
  43.   return proxies_addr#----------------------------------------------------------#######(2)爬取數據###def getInfoDict(url,page,pos_words_one,proxy_addr_one): 
  44.   ''' 
  45.   功能:獲取單頁職位數據,返回數據字典 
  46.   @url:目標URL 
  47.   @page:爬取第幾頁 
  48.   @pos_words_one:搜索關鍵詞(單個) 
  49.   @proxy_addr_one:使用的代理IP(單個) 
  50.   ''' 
  51.   global pos_dict 
  52.   page = 1 
  53.   i_headers=("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.22 Safari/537.36 SE 2.X MetaSr 1.0") 
  54.   proxy = urllib.request.ProxyHandler({"http":proxy_addr_one}) 
  55.   opener = urllib.request.build_opener(proxy,urllib.request.HTTPHandler) 
  56.   opener.addheaders=[i_headers] 
  57.   urllib.request.install_opener(opener) 
  58.   if page==1: 
  59.       tORf = "true" 
  60.   else: 
  61.       tORf = "false" 
  62.   mydata = urllib.parse.urlencode({"first": tORf,            
  63.                                    "pn": page,           #pn變化實現翻頁 
  64.                                    "kd": pos_words_one } ).encode("utf-8") 
  65.   try: 
  66.       req = urllib.request.Request(url,mydata) 
  67.       data=urllib.request.urlopen(req).read().decode("utf-8","ignore")  #利用代理ip打開 
  68.       pos_dict = json.loads(data)  #將str轉成dict 
  69.   except urllib.error.URLError  as er: 
  70.       if hasattr(er,"code"): 
  71.           print("獲取職位信息json對象時發生URLError錯誤,錯誤代碼:") 
  72.           print(er.code) 
  73.       if hasattr(er,"reason"): 
  74.           print("獲取職位信息json對象時發生URLError錯誤,錯誤原因:") 
  75.           print(er.reason) 
  76.   return pos_dictdef getInfoList(pos_dict): 
  77.   ''' 
  78.   功能:將getInfoDict()返回的數據字典轉換為數據列表 
  79.   @pos_dict:職位信息數據字典 
  80.   ''' 
  81.   pos_list = []  #職位信息列表    
  82.   jcontent = pos_dict["content"]["positionResult"]["result"]     
  83.   for i in jcontent:         
  84.       one_info = []  #一個職位的相關信息       
  85.       one_info.append(i["companyFullName"])         
  86.       one_info.append(i['companySize'])         
  87.       one_info.append(i['positionName'])         
  88.       one_info.append(i['education'])         
  89.       one_info.append(i['financeStage'])         
  90.       one_info.append(i['salary'])         
  91.       one_info.append(i['city'])         
  92.       one_info.append(i['district'])         
  93.       one_info.append(i['positionAdvantage'])         
  94.       one_info.append(i['workYear'])         
  95.       pos_list.append(one_info) 
  96.   return pos_listdef getPosInfo(pos_words,city_words,proxy_addr): 
  97.   ''' 
  98.   功能:基于函數getInfoDict()與getInfoList(),循環遍歷每一頁獲取最終所有職位信息列表 
  99.   @pos_words:職位關鍵詞(多個) 
  100.   @city_words:限制城市關鍵詞(多個) 
  101.   @proxy_addr:使用的代理IP池(多個) 
  102.   ''' 
  103.   posInfo_result = []     
  104.   title = ['公司全名', '公司規模', '職位名稱', '教育程度', '融資情況', "薪資水平", "城市", "區域", "優勢", "工作經驗"]     
  105.   posInfo_result.append(title)   
  106.   for i in range(0,len(city_words)): 
  107.       #i = 0 
  108.       key_city = urllib.request.quote(city_words[i]) 
  109.       #篩選關鍵詞設置:gj=應屆畢業生&xl=大專&jd=成長型&hy=移動互聯網&px=new&city=廣州 
  110.       url = "https://www.lagou.com/jobs/positionAjax.json?city="+key_city+"&needAddtionalResult=false
  111.       for j in range(0,len(pos_words)): 
  112.           #j = 0 
  113.           page=1 
  114.           while page<10:  #每個關鍵詞搜索拉鉤顯示30頁,在此只爬取10頁 
  115.               pos_wordspos_words_one = pos_words[j] 
  116.               #k = 1 
  117.               proxy_addrproxy_addr_one = proxy_addr[page] 
  118.               #page += 1 
  119.               time.sleep(3) 
  120.               pos_info = getInfoDict(url,page,pos_words_one,proxy_addr_one)  #獲取單頁信息列表 
  121.               pos_infoList = getInfoList(pos_info) 
  122.               posInfo_result += pos_infoList  #累加所有頁面信息        
  123.               page += 1    
  124.   return posInfo_result#----------------------------------------------------------#######(3)存儲數據###def wXlsConcent(export_path,posInfo_result): 
  125.   ''' 
  126.   功能:將最終結果寫入本地excel文件中 
  127.   @export_path:導出路徑 
  128.   @posInfo_result:爬取的數據列表 
  129.   ''' 
  130.   # 打開最終寫入的文件 
  131.   wb1 = xlsxwriter.Workbook(export_path) 
  132.   # 創建一個sheet工作對象 
  133.   ws = wb1.add_worksheet() 
  134.   try: 
  135.       for i in range(0,len(posInfo_result)): 
  136.           for j in range(0,len(posInfo_result[i])): 
  137.               data = posInfo_result[i][j] 
  138.               ws.write(i,j,data) 
  139.       wb1.close() 
  140.   except Exception as er: 
  141.       print('寫入“'+export_path+'”文件時出現錯誤:') 
  142.       print(er)#----------------------------------------------------------#######(4)定義main()函數###def main(): 
  143.   ''' 
  144.   功能:主函數,調用相關函數,最終輸出路徑(F:/spider_ret)下的positionInfo.xls文件     
  145.   ''' 
  146.   #---(1)獲取代理IP池 
  147.   proxies = getProxies()  #獲取原始代理IP    
  148.   proxy_addr = mulTestProxies(proxies) #多線程測試原始代理IP 
  149.   #---(2)爬取數據 
  150.   search_key = ["數據挖掘"]  #設置職位關鍵詞(可以設置多個) 
  151.   city_word = ["廣州"]  #設置搜索地區(可以設置多個) 
  152.   posInfo_result = getPosInfo(search_key,city_word,proxy_addr) #爬取職位信息 
  153.   #---(3)存儲數據 
  154.   export_path = "F:/spider_ret/positionInfo.xls" #設置導出路徑 
  155.   wXlsConcent(export_path,posInfo_result)  #寫入到excel中           if __name__ == "__main__": 
  156.   main() 

接下篇文章《一名合格的數據分析師分享Python網絡爬蟲二三事(Scrapy自動爬蟲)》

【本文是51CTO專欄機構“豈安科技”的原創文章,轉載請通過微信公眾號(bigsec)聯系原作者】

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

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

2017-02-23 17:46:11

數據分析師Python網絡爬蟲

2017-02-23 18:41:03

數據分析師Python網絡爬蟲

2015-08-04 13:25:46

數據分析

2014-06-19 14:00:46

數據分析師

2017-12-11 15:56:44

數據分析師數據倉庫數據源

2017-09-19 13:35:47

數據科學數據分析python

2016-11-11 20:38:39

數據分析師大數據

2012-06-08 10:12:08

架構師

2013-04-11 10:03:55

2015-08-18 13:26:05

數據分析

2012-08-08 09:00:29

數據分析師

2016-10-21 14:41:22

數據分析師大數據

2015-09-30 09:36:58

數據分析師面試offer

2022-11-11 11:35:14

2012-08-07 17:32:25

數據分析師

2013-07-29 15:58:28

大數據數據分析

2015-04-03 11:19:21

大數據大數據分析師

2017-02-13 19:25:24

2023-08-25 16:33:10

2023-07-08 23:05:01

數據分析運營
點贊
收藏

51CTO技術棧公眾號

一级特黄aaa大片| 在线观看国产网站| heyzo一区| 97久久精品人人澡人人爽| 奇米影视亚洲狠狠色| 精品亚洲aⅴ无码一区二区三区| 国产精品麻豆成人av电影艾秋| 亚洲人成网站色在线观看| 国产伦精品一区二区三区四区视频| 二区视频在线观看| 91精品国产自产拍在线观看蜜| 亚洲成人xxx| 中文字幕天天干| av福利导福航大全在线| 中文幕一区二区三区久久蜜桃| 91精品网站| 免费一级a毛片| 黄色在线一区| 色婷婷综合成人av| 五级黄高潮片90分钟视频| 白嫩亚洲一区二区三区| 日韩欧美视频一区二区三区| 日韩精品第1页| 成人在线观看免费| 不卡的看片网站| 91精品中文在线| 丰满少妇xoxoxo视频| 欧美国内亚洲| 日韩亚洲欧美成人| 精品国产无码在线观看| 136导航精品福利| 欧美欧美欧美欧美首页| 亚洲精品乱码久久久久久自慰| 成人日韩欧美| 最近中文字幕一区二区三区| 欧美一区二区三区四区五区六区| 成人毛片在线精品国产| 精品一区二区三区免费毛片爱| 欧美中文在线字幕| 亚洲一区欧美在线| 激情av一区| 久久久久久久电影一区| 91高清免费观看| 欧美韩国日本在线观看| 国产亚洲欧美日韩美女| 男生裸体视频网站| 红杏成人性视频免费看| 精品对白一区国产伦| ass极品水嫩小美女ass| 国产专区精品| 欧美一级二级三级蜜桃| 污免费在线观看| 久久丁香四色| 日韩欧美一区在线| 无码人妻一区二区三区在线视频| 日本午夜精品久久久久| 欧美日韩国产美女| 亚洲一二三不卡| 亚洲爽爆av| 欧美日韩在线播放| 想看黄色一级片| 电影一区中文字幕| 欧美一级xxx| 欧美成人精品一区二区综合免费| 中文字幕一区二区三区日韩精品| 日韩一区二区在线免费观看| 国产乱国产乱老熟300部视频| 秋霞影院一区| 亚洲精品aⅴ中文字幕乱码| 大地资源二中文在线影视观看 | 国产精品国产三级国产aⅴ浪潮| 在线视频一区二区三区四区| 日韩精彩视频在线观看| 国产精品高清在线观看| 国产精品探花视频| 国产99精品在线观看| 国产综合 伊人色| 日本国产在线| 国产欧美精品一区二区色综合朱莉| 日韩免费三级| 日韩专区在线| 亚洲一区在线观看视频| 99热自拍偷拍| 激情久久99| 欧美不卡在线视频| 黄色在线观看av| 久久久久久美女精品| 久久久久久久97| 精品无码一区二区三区的天堂| 久久国产精品72免费观看| 成人做爰66片免费看网站| 午夜成人免费影院| 中文字幕欧美一| 亚洲 自拍 另类小说综合图区| 日韩毛片免费观看| 91精品国产全国免费观看 | 成人台湾亚洲精品一区二区| 亚洲美女在线看| 放荡的美妇在线播放| 中日韩视频在线观看| 国产欧美日韩91| 免费a级片在线观看| 国产精品五月天| 日韩av高清在线看片| 国产在视频一区二区三区吞精| 欧美va在线播放| 91大神福利视频| 国产欧美亚洲一区| 亚洲最大av网| 国产精品一区二区三区四区色| 亚洲欧美一区二区三区孕妇| 91视频 -- 69xx| 亚洲精品观看| 久久精品视频导航| 欧美brazzers| 91在线观看视频| 女人被男人躁得好爽免费视频| 偷拍视频一区二区三区| 亚洲第一色在线| 看免费黄色录像| 老司机精品视频在线| 蜜桃狠狠色伊人亚洲综合网站| 呦呦在线视频| 欧美一区二区三区人| 性高潮久久久久久久| 亚洲欧洲另类| 亚洲aa在线观看| 日韩毛片久久久| 欧美曰成人黄网| 欧美一区二区三区成人精品| 欧美91精品| 91深夜福利视频| 午夜免费福利在线观看| 色呦呦国产精品| 亚洲一区二区三区四区五区六区| 亚洲乱码在线| 91久久精品视频| 日本三级在线播放完整版| 欧美中文字幕久久| 久久午夜福利电影| 首页国产欧美久久| 欧美系列一区| 久久人体大尺度| 亚洲人成绝费网站色www| 中文字幕日韩一级| 91麻豆产精品久久久久久| 无罩大乳的熟妇正在播放| 女仆av观看一区| 91av中文字幕| 欧美日韩国产亚洲沙发| 日韩欧美aaa| 亚洲av无码一区二区三区人| 视频一区欧美精品| 亚洲激情啪啪| 99精品美女视频在线观看热舞| 久久精品一区中文字幕| 国产jzjzjz丝袜老师水多| 亚洲精品国产高清久久伦理二区| 欧美性猛交乱大交| 99国产精品视频免费观看一公开| 国产一区二区三区无遮挡| 国产美女精品写真福利视频| 亚洲男人天堂网站| 看黄色一级大片| 中文字幕在线一区二区三区| 91精品国产三级| 伊人影院久久| 麻豆成人在线播放| 欧美一级在线| 欧美激情国产高清| 亚欧洲精品视频| 欧美午夜一区二区三区| 91精品少妇一区二区三区蜜桃臀| 国产精品一区三区| 草草久久久无码国产专区| 精品国产一区二区三区小蝌蚪| 国产精品偷伦一区二区 | 97在线视频免费看| 国产在线视频资源| 欧美一区二区国产| yjizz国产| 国产精品久久久久7777按摩| 欧美丰满熟妇bbb久久久| 亚洲综合国产| 91免费视频黄| 亚洲aaa级| 亚洲影院在线看| 一根才成人网| 久久久极品av| 亚洲AV第二区国产精品| 欧美日本免费一区二区三区| 久久精品国产亚洲AV无码麻豆| 久久综合色一综合色88| 久久婷婷中文字幕| 免费在线成人| 人妻激情另类乱人伦人妻| 久操成人av| www日韩av| 九七电影院97理论片久久tvb| 欧美激情久久久| av大片在线播放| 国产婷婷色综合av蜜臀av| 国产内射老熟女aaaa∵| 色域天天综合网| 国产一级一片免费播放| 国产精品乱码一区二区三区软件 | 久久久久久一二三区| 永久免费黄色片| 奇米影视一区二区三区小说| 韩日视频在线观看| 91精品婷婷色在线观看| 日本中文不卡| 96sao在线精品免费视频| 91精品国产自产在线老师啪 | 国产美女主播一区| 校园春色亚洲| 国产做受69高潮| 在线观看操人| 日韩中文字幕国产精品| 黄色片在线看| 日韩精品视频在线免费观看| www.欧美国产| 这里是久久伊人| 在线免费av片| 欧美午夜精品理论片a级按摩| 日本熟妇一区二区| 亚洲香肠在线观看| 一区二区在线观看免费视频| 中文字幕亚洲不卡| 午夜影院黄色片| 国产日韩精品视频一区| 免费在线观看你懂的| 成人app下载| 色哟哟无码精品一区二区三区| 国产麻豆精品视频| 亚洲五月激情网| 国产在线精品一区二区三区不卡| 日韩一级理论片| 日产国产高清一区二区三区| 国产aaa一级片| 国产精品毛片| 日本三级免费观看| 久久亚洲风情| 热久久精品免费视频| 国产一区二区三区成人欧美日韩在线观看| 国产成人生活片| 欧美激情在线| 欧美这里只有精品| 影音先锋亚洲一区| 欧美 日韩 亚洲 一区| 中日韩视频在线观看| 日韩视频第二页| 噜噜噜在线观看免费视频日韩| 日本中文字幕片| 日本中文字幕一区二区视频| 在线观看的毛片| 激情丁香综合五月| 在线一区二区不卡| 国产真实乱偷精品视频免| 污污视频在线免费| k8久久久一区二区三区 | 最新亚洲精品| 日韩在线国产| 亚洲欧美偷拍自拍| 性一交一乱一伧国产女士spa| 亚洲一级网站| 黄色a级片免费| 精品在线亚洲视频| 精品国产aⅴ一区二区三区东京热| 成人免费看黄yyy456| 中文字幕一二三四区| 欧美国产欧美综合| 欧美一区二区三区爽爽爽| 午夜激情一区二区三区| 天天爱天天做天天爽| 日韩一区二区在线播放| 日韩国产福利| 久久福利视频网| 麻豆视频在线看| 国产精品日韩在线播放| 亚洲精品在线a| 日韩欧美亚洲日产国| 欧美va天堂| 欧美 激情 在线| 国产精品69久久久久水密桃| 亚洲乱码国产乱码精品精大量| 国产精品不卡一区二区三区| 久久久久99精品| 欧美无人高清视频在线观看| www.精品久久| 亚洲午夜国产成人av电影男同| 黄色网页网址在线免费| 亚洲**2019国产| 99er精品视频| 欧美精品欧美精品系列c| 欧美国产精品| 天天干天天爽天天射| www.色精品| 成年人一级黄色片| 色噜噜狠狠成人网p站| www.国产麻豆| 精品国偷自产在线视频| 无码小电影在线观看网站免费| 国产一区二区在线免费视频| 少妇高潮一区二区三区| 大桥未久一区二区三区| 视频一区中文字幕国产| 亚洲欧美高清在线| 亚洲色图清纯唯美| 欧美亚洲另类小说| 亚洲第一精品自拍| 怡红院在线播放| 成人av电影天堂| 久草成人在线| 国产成人在线免费看| 国产91富婆露脸刺激对白| 国产又粗又长又黄的视频| 欧美性69xxxx肥| 少妇精品高潮欲妇又嫩中文字幕| 日韩一区二区欧美| 91超碰碰碰碰久久久久久综合| 精品在线视频一区二区三区| 欧美日本一区二区视频在线观看| 91福利国产成人精品播放| 久久久久免费观看| www亚洲视频| 日韩精品高清在线观看| 久草成色在线| 国产精成人品localhost| 一区二区影视| 奇米777在线视频| 日韩美女视频一区二区| 一区二区久久精品66国产精品| 亚洲午夜未删减在线观看| 欧美粗大gay| 日本不卡久久| 日韩精品一卡二卡三卡四卡无卡| 三级电影在线看| 亚洲第一搞黄网站| 亚洲欧美另类综合| 欧美激情第6页| 爱爱精品视频| 男人插女人视频在线观看| 成人精品gif动图一区| 国产精品2020| 亚洲国产欧美久久| 中日韩脚交footjobhd| 久久精品日产第一区二区三区精品版 | 青青青国产精品| 大地资源第二页在线观看高清版| 极品少妇一区二区| 久久久久久久久久网站| 欧美哺乳videos| 天堂8中文在线最新版在线| 免费看国产精品一二区视频| 日韩中文字幕不卡| 网爆门在线观看| 欧美一级黄色片| 大黄网站在线观看| 久久久久一区二区三区| 久久综合图片| 神马午夜精品91| 欧美成人一区二区三区| h片在线观看下载| 欧美精品久久| 黄一区二区三区| 精品在线视频观看| 亚洲欧美国产一本综合首页| 国产在视频一区二区三区吞精| 欧美一级中文字幕| 99久久精品国产导航| 久草视频在线免费| 北条麻妃一区二区三区中文字幕| 亚洲精品观看| 又色又爽又高潮免费视频国产| 国产欧美一区二区精品婷婷| 国产美女精品视频国产| 孩xxxx性bbbb欧美| 欧美日韩黑人| 一级黄色大片免费看| 欧美三级免费观看| 美女av在线播放| 精品日产一区2区三区黄免费 | 欧美一区二区三区另类 | 亚洲欧美视频在线观看视频| 二区三区在线视频| 国产成人福利网站| 欧美一区亚洲| 亚洲码无人客一区二区三区| 日韩一区国产二区欧美三区| 欧美动物xxx| 黄色特一级视频| 国产欧美视频一区二区| 亚洲精品无码久久久| 国产精品毛片a∨一区二区三区|国 | 国模无码视频一区二区三区| 中文字幕在线观看一区| 三级视频网站在线| 97久草视频| 蜜臀av性久久久久蜜臀aⅴ|