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

爬取兩萬多租房數據,告訴你廣州房租現狀

開發 后端 數據分析
,早就有挺多小伙伴叫我分析一下廣州的租房價格現狀,這不,文章就這樣在眾多呼聲中出爐了。然后,此次爬蟲技術也升級了,完善了更多細節。源碼值得細細探究。

概述

  • 前言
  • 統計結果
  • 爬蟲代碼實現
  • 爬蟲分析實現
  • 后記

前言

建議在看這篇文章之前,請看完這三篇文章,因為本文是依賴于前三篇文章的:

  • 爬蟲利器初體驗(1)
  • 聽說你的爬蟲又被封了?(2)
  • 爬取數據不保存,就是耍流氓(3)

八月份的時候,由于腦洞大開,決定用 python 爬蟲爬取了深圳的租房數據,并寫了文章《用Python告訴你深圳房租有多高》,文章得到了一致好評和眾多轉載。由于我本身的朋友圈大多都在廣州、深圳,因此,早就有挺多小伙伴叫我分析一下廣州的租房價格現狀,這不,文章就這樣在眾多呼聲中出爐了。然后,此次爬蟲技術也升級了,完善了更多細節。源碼值得細細探究。此次分析采集了廣州 11 個區,23339 條數據,如下圖: 

爬取兩萬多租房數據,告訴你廣州房租現狀

樣本數據

 

其中后半部分地區數據量偏少,是由于該區房源確實不足。因此,此次調查也并非非常準確,權且當個娛樂項目,供大家觀賞。

統計結果

我們且先看統計結果,然后再看技術分析。

廣州房源分布:(按區劃分)

其中天河占據了大部分房源。但這塊地的房租可是不菲啊。 

爬取兩萬多租房數據,告訴你廣州房租現狀

房源分布

 

房租單價:(每月每平方米單價 -- 平均數)

即是 1 平方米 1 個月的價格。方塊越大,代表價格越高。 

爬取兩萬多租房數據,告訴你廣州房租現狀

房租單價:平方米/月

 

可以看出天河、越秀、海珠都越過了 50 大關,分別是 75.042 、64.249、59.621 ,是其他地區的幾倍。如果在天河租個 20 平方的房間:

  • 75.042 x 20 = 1500.84

再來個兩百的水電、物業:

  • 1500.84 + 200 = 1700.84

我們按正常生活來算的話,每天早餐 10 塊,中午 15 塊,晚飯 15 塊:

  • 1700.84 + 40 x 30 = 2900.84

那么平時的日常生活需要 2900.84 塊。

隔斷時間下個館子,每個月買些衣服,交通費,談個女朋友,與女朋友出去逛街,妥妥滴加個 2500

  • 2900.84 + 2500 = 5400.84

給爸媽一人一千:

  • 5200.84 + 2000 = 7200.84

月薪一萬還是有點存款的,比深圳好一點,但是可能廣州的薪資就沒深圳那么高了。

房租單價:(每日每平方米單價 -- 平均數)

即是 1 平方米 1 天的價格。 

爬取兩萬多租房數據,告訴你廣州房租現狀

租房單價:平方米/日

 

哈哈,感受一下***的感覺。[捂臉]
戶型

戶型主要以 3 室 2 廳與 2 室 2 廳為主。與小伙伴抱團租房是***的選擇了,不然與不認識的人一起合租,可能會發生一系列讓你不舒服的事情。字體越大,代表戶型數量越多。 

爬取兩萬多租房數據,告訴你廣州房租現狀

戶型
爬取兩萬多租房數據,告訴你廣州房租現狀
戶型

 

租房面積統計

其中 30 - 90 平方米的租房占大多數,如今之計,也只能是幾個小伙伴一起租房,抱團取暖了。 

爬取兩萬多租房數據,告訴你廣州房租現狀

租房面積統計

 

租房描述詞云

這是爬取的租房描述,其中字體越大,標識出現的次數越多。其中【住家、全套、豪華、齊全】占據了很大的部分,說明配套設施都是挺齊全的。 

爬取兩萬多租房數據,告訴你廣州房租現狀

租房描述

 

爬蟲技術分析

  • 請求庫:scrapy、requests
  • HTML 解析:BeautifulSoup
  • 詞云:wordcloud
  • 數據可視化:pyecharts
  • 數據庫:MongoDB
  • 數據庫連接:pymongo

爬蟲代碼實現

跟上一篇文章不一樣,這是使用了 scrapy 爬蟲框架來爬取數據,各個方面也進行了優化,例如:自動生成各個頁面的地址。

由于房某下各個區域的首頁地址和首頁以外的地址的形式是不一樣的,但是又一定的規律,所以需要拼接各個部分的地址。

首頁地址案例:

  1. # ***頁 
  2. http://gz.zu.fang.com/house-a073/ 

非首頁地址:

  1. # 第二頁 
  2. http://gz.zu.fang.com/house-a073/i32/ 
  3. # 第三頁 
  4. http://gz.zu.fang.com/house-a073/i33/ 
  5. # 第四頁 
  6. http://gz.zu.fang.com/house-a073/i34/ 

 爬取兩萬多租房數據,告訴你廣州房租現狀

 爬取兩萬多租房數據,告訴你廣州房租現狀

先解析首頁 url

  1. def head_url_callback(self, response): 
  2.     soup = BeautifulSoup(response.body, "html5lib"
  3.     dl = soup.find_all("dl", attrs={"id""rentid_D04_01"})  # 獲取各地區的 url 地址的 dl 標簽 
  4.     my_as = dl[0].find_all("a")  # 獲取 dl 標簽中所有的 a 標簽, 
  5.     for my_a in my_as: 
  6.         if my_a.text == "不限":  # 不限地區的,特殊處理 
  7.             self.headUrlList.append(self.baseUrl) 
  8.             self.allUrlList.append(self.baseUrl) 
  9.             continue 
  10.         if "周邊" in my_a.text:  # 清除周邊地區的數據 
  11.             continue 
  12.         # print(my_a["href"]) 
  13.         # print(my_a.text) 
  14.         self.allUrlList.append(self.baseUrl + my_a["href"]) 
  15.         self.headUrlList.append(self.baseUrl + my_a["href"]) 
  16.     print(self.allUrlList) 
  17.     url = self.headUrlList.pop(0) 
  18.     yield Request(url, callback=self.all_url_callback, dont_filter=True

再解析非首頁 url

這里先獲取到各個地區一共有多少頁,才能拼接具體的頁面地址。

爬取兩萬多租房數據,告訴你廣州房租現狀

  1. 再根據頭部 url 拼接其他頁碼的url 
  2. ef all_url_callback(self, response): # 解析并拼接所有需要爬取的 url 地址 
  3.    soup = BeautifulSoup(response.body, "html5lib"
  4.    div = soup.find_all("div", attrs={"id""rentid_D10_01"})  # 獲取各地區的 url 地址的 dl 標簽 
  5.    span = div[0].find_all("span")  # 獲取 dl 標簽中所有的 span 標簽, 
  6.    span_text = span[0].text 
  7.    for index in range(int(span_text[1:len(span_text) - 1])): 
  8.        if index == 0: 
  9.            pass 
  10.            # self.allUrlList.append(self.baseUrl + my_a["href"]) 
  11.        else
  12.            if self.baseUrl == response.url: 
  13.                self.allUrlList.append(response.url + "house/i3" + str(index + 1) + "/"
  14.                continue 
  15.            self.allUrlList.append(response.url + "i3" + str(index + 1) + "/"
  16.    if len(self.headUrlList) == 0: 
  17.        url = self.allUrlList.pop(0) 
  18.        yield Request(url, callback=self.parse, dont_filter=True
  19.    else
  20.        url = self.headUrlList.pop(0) 
  21.        yield Request(url, callback=self.all_url_callback, dont_filter=True

***解析一個頁面的數據

  1. def parse(self, response): # 解析一個頁面的數據 
  2.     self.logger.info("=========================="
  3.     soup = BeautifulSoup(response.body, "html5lib"
  4.     divs = soup.find_all("dd", attrs={"class""info rel"})  # 獲取需要爬取得 div 
  5.     for div in divs: 
  6.         ps = div.find_all("p"
  7.         try:  # 捕獲異常,因為頁面中有些數據沒有被填寫完整,或者被插入了一條廣告,則會沒有相應的標簽,所以會報錯 
  8.             for index, p in enumerate(ps):  # 從源碼中可以看出,每一條 p 標簽都有我們想要的信息,故在此遍歷 p 標簽, 
  9.                 text = p.text.strip() 
  10.                 print(text)  # 輸出看看是否為我們想要的信息 
  11.             roomMsg = ps[1].text.split("|"
  12.             area = roomMsg[2].strip()[:len(roomMsg[2]) - 1] 
  13.             item = RenthousescrapyItem() 
  14.             item["title"] = ps[0].text.strip() 
  15.             item["rooms"] = roomMsg[1].strip() 
  16.             item["area"] = int(float(area)) 
  17.             item["price"] = int(ps[len(ps) - 1].text.strip()[:len(ps[len(ps) - 1].text.strip()) - 3]) 
  18.             item["address"] = ps[2].text.strip() 
  19.             item["traffic"] = ps[3].text.strip() 
  20.             if (self.baseUrl+"house/"in response.url: # 對不限區域的地方進行區分 
  21.                 item["region"] = "不限" 
  22.             else
  23.                 item["region"] = ps[2].text.strip()[:2] 
  24.             item["direction"] = roomMsg[3].strip() 
  25.             print(item) 
  26.             yield item 
  27.         except
  28.             print("糟糕,出現 exception"
  29.             continue 
  30.     if len(self.allUrlList) != 0:  
  31.         url = self.allUrlList.pop(0) 
  32.         yield Request(url, callback=self.parse, dont_filter=True

數據分析實現

這里主要通過 pymongo 的一些聚合運算來進行統計,再結合相關的圖標庫,來進行數據的展示。

數據分析:

  1. # 求一個區的房租單價(平方米/元) 
  2.    def getAvgPrice(self, region): 
  3.        areaPinYin = self.getPinyin(region=region) 
  4.        collection = self.zfdb[areaPinYin] 
  5.        totalPrice = collection.aggregate([{'$group': {'_id''$region''total_price': {'$sum''$price'}}}]) 
  6.        totalArea = collection.aggregate([{'$group': {'_id''$region''total_area': {'$sum''$area'}}}]) 
  7.        totalPrice2 = list(totalPrice)[0]["total_price"
  8.        totalArea2 = list(totalArea)[0]["total_area"
  9.        return totalPrice2 / totalArea2 
  10.  
  11.    # 獲取各個區 每個月一平方米需要多少錢 
  12.    def getTotalAvgPrice(self): 
  13.        totalAvgPriceList = [] 
  14.        totalAvgPriceDirList = [] 
  15.        for index, region in enumerate(self.getAreaList()): 
  16.            avgPrice = self.getAvgPrice(region) 
  17.            totalAvgPriceList.append(round(avgPrice, 3)) 
  18.            totalAvgPriceDirList.append({"value": round(avgPrice, 3), "name": region + "  " + str(round(avgPrice, 3))}) 
  19.  
  20.        return totalAvgPriceDirList 
  21.  
  22.    # 獲取各個區 每一天一平方米需要多少錢 
  23.    def getTotalAvgPricePerDay(self): 
  24.        totalAvgPriceList = [] 
  25.        for index, region in enumerate(self.getAreaList()): 
  26.            avgPrice = self.getAvgPrice(region) 
  27.            totalAvgPriceList.append(round(avgPrice / 30, 3)) 
  28.        return (self.getAreaList(), totalAvgPriceList) 
  29.  
  30.    # 獲取各區統計樣本數量 
  31.    def getAnalycisNum(self): 
  32.        analycisList = [] 
  33.        for index, region in enumerate(self.getAreaList()): 
  34.            collection = self.zfdb[self.pinyinDir[region]] 
  35.            print(region) 
  36.            totalNum = collection.aggregate([{'$group': {'_id''''total_num': {'$sum': 1}}}]) 
  37.            totalNum2 = list(totalNum)[0]["total_num"
  38.            analycisList.append(totalNum2) 
  39.        return (self.getAreaList(), analycisList) 
  40.  
  41.    # 獲取各個區的房源比重 
  42.    def getAreaWeight(self): 
  43.        result = self.zfdb.rent.aggregate([{'$group': {'_id''$region''weight': {'$sum': 1}}}]) 
  44.        areaName = [] 
  45.        areaWeight = [] 
  46.        for item in result: 
  47.            if item["_id"in self.getAreaList(): 
  48.                areaWeight.append(item["weight"]) 
  49.                areaName.append(item["_id"]) 
  50.                print(item["_id"]) 
  51.                print(item["weight"]) 
  52.                # print(type(item)) 
  53.        return (areaName, areaWeight) 
  54.  
  55.    # 獲取 title 數據,用于構建詞云 
  56.    def getTitle(self): 
  57.        collection = self.zfdb["rent"
  58.        queryArgs = {} 
  59.        projectionFields = {'_id'False'title'True}  # 用字典指定需要的字段 
  60.        searchRes = collection.find(queryArgs, projection=projectionFields).limit(1000) 
  61.        content = '' 
  62.        for result in searchRes: 
  63.            print(result["title"]) 
  64.            content += result["title"
  65.        return content 
  66.  
  67.    # 獲取戶型數據(例如:3 室 2 廳) 
  68.    def getRooms(self): 
  69.        results = self.zfdb.rent.aggregate([{'$group': {'_id''$rooms''weight': {'$sum': 1}}}]) 
  70.        roomList = [] 
  71.        weightList = [] 
  72.        for result in results: 
  73.            roomList.append(result["_id"]) 
  74.            weightList.append(result["weight"]) 
  75.        # print(list(result)) 
  76.        return (roomList, weightList) 
  77.  
  78.    # 獲取租房面積 
  79.    def getAcreage(self): 
  80.        results0_30 = self.zfdb.rent.aggregate([ 
  81.            {'$match': {'area': {'$gt': 0, '$lte': 30}}}, 
  82.            {'$group': {'_id''''count': {'$sum': 1}}} 
  83.        ]) 
  84.        results30_60 = self.zfdb.rent.aggregate([ 
  85.            {'$match': {'area': {'$gt': 30, '$lte': 60}}}, 
  86.            {'$group': {'_id''''count': {'$sum': 1}}} 
  87.        ]) 
  88.        results60_90 = self.zfdb.rent.aggregate([ 
  89.            {'$match': {'area': {'$gt': 60, '$lte': 90}}}, 
  90.            {'$group': {'_id''''count': {'$sum': 1}}} 
  91.        ]) 
  92.        results90_120 = self.zfdb.rent.aggregate([ 
  93.            {'$match': {'area': {'$gt': 90, '$lte': 120}}}, 
  94.            {'$group': {'_id''''count': {'$sum': 1}}} 
  95.        ]) 
  96.        results120_200 = self.zfdb.rent.aggregate([ 
  97.            {'$match': {'area': {'$gt': 120, '$lte': 200}}}, 
  98.            {'$group': {'_id''''count': {'$sum': 1}}} 
  99.        ]) 
  100.        results200_300 = self.zfdb.rent.aggregate([ 
  101.            {'$match': {'area': {'$gt': 200, '$lte': 300}}}, 
  102.            {'$group': {'_id''''count': {'$sum': 1}}} 
  103.        ]) 
  104.        results300_400 = self.zfdb.rent.aggregate([ 
  105.            {'$match': {'area': {'$gt': 300, '$lte': 400}}}, 
  106.            {'$group': {'_id''''count': {'$sum': 1}}} 
  107.        ]) 
  108.        results400_10000 = self.zfdb.rent.aggregate([ 
  109.            {'$match': {'area': {'$gt': 300, '$lte': 10000}}}, 
  110.            {'$group': {'_id''''count': {'$sum': 1}}} 
  111.        ]) 
  112.        results0_30_ = list(results0_30)[0]["count"
  113.        results30_60_ = list(results30_60)[0]["count"
  114.        results60_90_ = list(results60_90)[0]["count"
  115.        results90_120_ = list(results90_120)[0]["count"
  116.        results120_200_ = list(results120_200)[0]["count"
  117.        results200_300_ = list(results200_300)[0]["count"
  118.        results300_400_ = list(results300_400)[0]["count"
  119.        results400_10000_ = list(results400_10000)[0]["count"
  120.        attr = ["0-30平方米""30-60平方米""60-90平方米""90-120平方米""120-200平方米""200-300平方米""300-400平方米""400+平方米"
  121.        value = [ 
  122.            results0_30_, results30_60_, results60_90_, results90_120_, results120_200_, results200_300_, results300_400_, results400_10000_ 
  123.        ] 
  124.        return (attr, value) 

數據展示:

  1. # 展示餅圖 
  2.    def showPie(self, title, attr, value): 
  3.        from pyecharts import Pie 
  4.        pie = Pie(title) 
  5.        pie.add("aa", attr, value, is_label_show=True
  6.        pie.render() 
  7.  
  8.    # 展示矩形樹圖 
  9.    def showTreeMap(self, title, data): 
  10.        from pyecharts import TreeMap 
  11.        data = data 
  12.        treemap = TreeMap(title, width=1200, height=600) 
  13.        treemap.add("深圳", data, is_label_show=True, label_pos='inside', label_text_size=19) 
  14.        treemap.render() 
  15.  
  16.    # 展示條形圖 
  17.    def showLine(self, title, attr, value): 
  18.        from pyecharts import Bar 
  19.        bar = Bar(title) 
  20.        bar.add("深圳", attr, value, is_convert=False, is_label_show=True, label_text_size=18, is_random=True
  21.                # xaxis_interval=0, xaxis_label_textsize=9, 
  22.                legend_text_size=18, label_text_color=["#000"]) 
  23.        bar.render() 
  24.  
  25.    # 展示詞云 
  26.    def showWorkCloud(self, content, image_filename, font_filename, out_filename): 
  27.        d = path.dirname(__name__) 
  28.        # content = open(path.join(d, filename), 'rb').read() 
  29.        # 基于TF-IDF算法的關鍵字抽取, topK返回頻率***的幾項, 默認值為20, withWeight 
  30.        # 為是否返回關鍵字的權重 
  31.        tags = jieba.analyse.extract_tags(content, topK=100, withWeight=False
  32.        text = " ".join(tags) 
  33.        # 需要顯示的背景圖片 
  34.        img = imread(path.join(d, image_filename)) 
  35.        # 指定中文字體, 不然會亂碼的 
  36.        wc = WordCloud(font_path=font_filename, 
  37.                       background_color='black'
  38.                       # 詞云形狀, 
  39.                       mask=img, 
  40.                       # 允許***詞匯 
  41.                       max_words=400, 
  42.                       # ***號字體,如果不指定則為圖像高度 
  43.                       max_font_size=100, 
  44.                       # 畫布寬度和高度,如果設置了msak則不會生效 
  45.                       # width=600, 
  46.                       # height=400, 
  47.                       margin=2, 
  48.                       # 詞語水平擺放的頻率,默認為0.9.即豎直擺放的頻率為0.1 
  49.                       prefer_horizontal=0.9 
  50.                       ) 
  51.        wc.generate(text) 
  52.        img_color = ImageColorGenerator(img) 
  53.        plt.imshow(wc.recolor(color_func=img_color)) 
  54.        plt.axis("off"
  55.        plt.show() 
  56.        wc.to_file(path.join(d, out_filename)) 
  57.  
  58.    # 展示 pyecharts 的詞云 
  59.    def showPyechartsWordCloud(self, attr, value): 
  60.        from pyecharts import WordCloud 
  61.        wordcloud = WordCloud(width=1300, height=620) 
  62.        wordcloud.add("", attr, value, word_size_range=[20, 100]) 
  63.        wordcloud.render() 

后記

距離上一篇租房市場的分析已經3、4 個月了,我的技術水平也得到了一定的提高。所以努力編碼才是成長的捷徑。***,應對外界條件的變動,我們還是應該提升自己的硬實力,這樣才能提升自己的生存能力。

責任編輯:未麗燕 來源: zone7
相關推薦

2017-11-24 12:52:01

大數據數據分析房租

2017-11-27 10:53:00

大數據租房數據分析

2018-11-06 13:24:27

爬蟲分析房租

2018-01-04 13:29:13

租房租房網站安全

2018-11-28 13:16:39

火鍋數據爬蟲

2018-08-27 09:39:33

租房數據北漂

2017-04-12 09:00:53

機器學習發生框架

2018-07-25 13:47:51

彭于晏邪不壓正Python

2010-02-22 14:50:17

云計算

2018-08-27 07:01:33

數據分析數據可視化租房

2020-10-09 15:29:48

大數據國慶技術

2009-04-28 08:15:33

畢業生科研

2011-08-27 13:37:15

筆記本評測

2021-03-12 18:09:50

大數據職業云計算

2020-07-16 11:49:49

流量焦慮移動互聯網

2018-07-23 08:52:56

Python 數據獲取數據處理

2017-08-21 10:05:57

Python影評 爬蟲

2009-06-16 10:33:26

華為任正非創業故事

2022-02-23 11:31:44

自動駕駛汽車智能

2018-05-23 12:34:39

Python網絡爬蟲豆瓣電影
點贊
收藏

51CTO技術棧公眾號

不卡伊人av在线播放| 国产亚洲欧美一级| 久久亚洲春色中文字幕| 麻豆免费在线观看视频| sm久久捆绑调教精品一区| 91麻豆国产在线观看| 国产精品香蕉国产| 国产午夜精品无码| 成人久久综合| 精品国产免费一区二区三区四区 | 在线观看免费亚洲| www亚洲国产| 天天射天天操天天干| 免费不卡在线视频| 性色av香蕉一区二区| 日韩视频在线观看免费视频| 伊人久久大香线蕉av超碰| 色综合久久天天| 欧美日韩中文字幕在线播放| 国产一区二区三区不卡在线| 粉嫩aⅴ一区二区三区四区五区| 日本免费在线精品| 精品在线视频观看| 欧美国产偷国产精品三区| 亚洲精品国产电影| 国产伦精品一区二区三区妓女下载 | 国产情侣av自拍| 久草在线视频资源| 国产精品国模大尺度视频| 精品国产乱码久久久久久丨区2区 精品国产乱码久久久久久蜜柚 | 国产日韩精品在线| 欧美a视频在线观看| 亚洲天堂激情| 久久国产精品影视| 亚洲AV成人无码网站天堂久久| 久久黄色影视| 精品卡一卡二卡三卡四在线| 亚洲女人在线观看| 日韩第二十一页| 欧美在线播放高清精品| 国产91在线免费| 高h视频在线播放| 伊人性伊人情综合网| 一区二区三区国产福利| 东热在线免费视频| 欧美三级午夜理伦三级富婆| 国产乱码久久久| 极品日韩av| 欧美丰满少妇xxxxx| 亚洲色图27p| 国产精品一线天粉嫩av| 亚洲乱码国产乱码精品精| 久久人妻少妇嫩草av无码专区| 视频在线观看免费影院欧美meiju| 欧美日韩精品三区| 亚洲18在线看污www麻豆| 精品福利在线| 3atv一区二区三区| 亚洲欧美一区二区三区不卡| 99久久999| 制服.丝袜.亚洲.另类.中文| 特级西西444www| 亚洲精品三区| 欧美大片拔萝卜| 精品久久一二三区| 国产一区在线精品| 粉嫩高潮美女一区二区三区 | 欧美日韩一二三四五区| 精品无码国模私拍视频| 爱搞国产精品| 精品日韩美女的视频高清| 国产中文字幕视频在线观看| 在线免费三级电影网站| 91福利在线播放| 欧美美女一级片| 精品中文在线| 亚洲国产美女精品久久久久∴| 欧美 日本 国产| 欧美精品一区二区久久| 日韩在线不卡视频| 久久国产免费观看| 亚洲制服少妇| 国产欧美日韩亚洲精品| aaa一区二区三区| 91嫩草国产线观看亚洲一区二区| 综合久久久久久| 欧美一级特黄aaaaaa在线看片| 美女尤物在线视频| 动漫精品一区二区| 538任你躁在线精品免费| www.久久久久爱免| 日韩av网址在线观看| 高清国产在线观看| 亚洲国产日韩欧美在线| 高清欧美性猛交| 在线免费一区二区| 国产在线视视频有精品| 国模精品娜娜一二三区| www.91在线| 亚洲国产婷婷综合在线精品| 高清一区二区视频| 亚洲五码在线| 国产一区二区三区直播精品电影 | 夜夜嗨av一区二区三区| 久久久999免费视频| 欧美美女福利视频| 亚洲国产美女精品久久久久∴| 中文字幕在线观看二区| 中国女人久久久| 成人av色在线观看| 欧美视频综合| 亚洲综合激情另类小说区| av片中文字幕| 风间由美中文字幕在线看视频国产欧美| 亚洲深夜福利网站| 黄色小视频在线免费看| 奇米一区二区三区| 国产区日韩欧美| 蜜桃视频网站在线| 日本精品视频一区二区| 91精品又粗又猛又爽| 国产精品7m凸凹视频分类| 91高潮精品免费porn| www.色播.com| 亚洲色图视频网站| 免费看污黄网站| 亚洲系列另类av| 国内成人精品视频| www.精品视频| 亚洲欧美一区二区在线观看| 热久久精品国产| 欧美日韩一本| 欧美激情精品久久久久久蜜臀| 91精品国自产| 国产精品视频线看| 妺妺窝人体色www在线小说| 成人偷拍自拍| 久久91精品国产| 国产情侣一区二区| 亚洲视频资源在线| 国产aⅴ爽av久久久久| 欧美肉体xxxx裸体137大胆| 日本亚洲欧洲色α| 日韩亚洲视频在线观看| 懂色aⅴ精品一区二区三区蜜月| 国产情侣久久久久aⅴ免费| 欧美精品一区二区三区久久久竹菊| 国产一区深夜福利| 麻豆影院在线| 91精品国产综合久久国产大片| 色撸撸在线视频| 久久99国产精品麻豆| 一本久久a久久精品vr综合 | 极品尤物一区二区三区| free性欧美| 日韩av在线直播| 好看的av在线| 国产视频一区二区在线观看| 欧美一级黄色影院| 日产午夜精品一线二线三线| 国产日韩视频在线观看| 成人欧美在线| 精品国产123| 毛片视频网站在线观看| 国产亚洲一区二区三区四区| 美女网站色免费| 亚洲成人99| 国产精品v欧美精品v日韩精品| av手机在线观看| 亚洲欧美国内爽妇网| 中文字幕自拍偷拍| 亚洲乱码中文字幕| 欧美日韩人妻精品一区在线| 国产精品尤物| 色女孩综合网| 日韩精品免费视频一区二区三区| 久久久亚洲精选| 欧美偷拍视频| 欧美精品丝袜中出| 麻豆一区二区三区精品视频| 91浏览器在线视频| 中文字幕av不卡在线| 欧美日本一区| 美媛馆国产精品一区二区| 不卡亚洲精品| 久久久久久久久网站| 日本福利片高清在线观看| 欧美浪妇xxxx高跟鞋交| 久久国产在线观看| 国产欧美视频一区二区三区| 日本女人黄色片| 久久国产精品久久w女人spa| 欧美与动交zoz0z| 美女视频亚洲色图| 成人黄色免费在线观看| 爱情岛亚洲播放路线| 亚洲欧洲第一视频| 国产亲伦免费视频播放| 色悠悠久久综合| 在线免费观看亚洲视频| 久久久久久久久久美女| 又黄又爽又色的视频| 久久一区激情| 日本欧美视频在线观看| 日韩欧美午夜| 久久精品一区二区三区不卡免费视频| 青青在线精品| 国产97在线|亚洲| 色呦呦网站在线观看| 最近2019年中文视频免费在线观看| 亚洲精品一区二区三区区别| 欧美日本在线观看| 国产黄色免费观看| 亚洲一区二区三区四区不卡 | 亚洲精品免费一二三区| 人妻体内射精一区二区| 国产成人免费网站| 中文字幕精品一区二区三区在线| 亚洲专区免费| www婷婷av久久久影片| 成人激情诱惑| 日韩av电影免费观看| 国产一区在线电影| 91网站在线免费观看| yw.尤物在线精品视频| 国模精品一区二区三区色天香| 麻豆传媒视频在线| 国产亚洲成av人片在线观看桃| 开心激情综合网| 欧美一区二区三区免费大片| 一本一道人人妻人人妻αv| 色综合一区二区三区| 国产黄色片免费看| 亚洲成人手机在线| 久久久久国产精品夜夜夜夜夜| 亚洲欧美在线高清| 成人信息集中地| 国产精品乱人伦中文| 国产免费一区二区三区网站免费| 91丝袜高跟美女视频| 内射中出日韩无国产剧情| 国产91丝袜在线观看| 国产精品偷伦视频免费观看了| 国产在线视频不卡二| 国产在线观看中文字幕| 免费看欧美女人艹b| 国产又粗又长又大的视频| 日韩高清在线观看| 妞干网在线免费视频| 亚洲欧美日韩国产| 日本在线视频www| 日韩在线a电影| 性猛交ⅹ×××乱大交| 捆绑调教美女网站视频一区| 成人不卡免费视频| 久久成人综合网| 四虎国产精品永久免费观看视频| 国产精品77777竹菊影视小说| 杨幂一区二区国产精品| 粉嫩高潮美女一区二区三区 | 少妇黄色一级片| 久久99精品国产麻豆婷婷| 国产不卡的av| av午夜一区麻豆| 性久久久久久久久久| 国产视频一区二区三区在线观看| 一级黄色毛毛片| 亚洲视频你懂的| 欧美成人综合色| 精品国产91久久久| 久草视频在线免费| 欧美日本免费一区二区三区| av中文字幕免费在线观看| 亚洲精品一区二区三区香蕉| 玖玖综合伊人| 日韩中文字幕免费看| 最爽无遮挡行房视频在线| 久久久久久国产精品美女| 中国字幕a在线看韩国电影| 国产成人涩涩涩视频在线观看| 亚洲伦理一区二区| 国产v亚洲v天堂无码| 国产精品片aa在线观看| 宅男av一区二区三区| 亚洲精品欧美| 亚洲va在线va天堂va偷拍| 国产盗摄精品一区二区三区在线| 亚洲黄色在线网站| 国产精品高清亚洲| 激情五月色婷婷| 欧美日韩一区二区在线观看| 亚洲风情第一页| 国产亚洲精品va在线观看| 亚洲资源一区| 国产99久久精品一区二区 夜夜躁日日躁 | 国内精品久久久久久99蜜桃| 久久国产精品免费观看| 免费视频久久| 人妻激情偷乱视频一区二区三区| 久久久久99精品国产片| www青青草原| 在线欧美日韩精品| 黑人操亚洲女人| 久久精品夜夜夜夜夜久久| 欧美久久天堂| 亚洲在线一区二区| 国产欧美日韩视频在线| 欧美亚洲色图视频| 久99久精品视频免费观看| 青青草视频成人| 夜夜爽夜夜爽精品视频| 一二三四区在线| 亚洲视频axxx| 高潮在线视频| 国产99午夜精品一区二区三区| 成人羞羞网站入口| 妺妺窝人体色www在线小说| 国产成人三级在线观看| 欧美性生交大片| 日本道色综合久久| 亚洲人成色777777精品音频| 欧美大片va欧美在线播放| 日韩专区视频| 亚洲精品国产一区| 久久夜色精品| 久久av无码精品人妻系列试探| 午夜日韩在线观看| 国产91视频在线| 久久成人精品视频| 祥仔av免费一区二区三区四区| 日本在线播放一区| 久久不射2019中文字幕| 国产精品久久久久久亚洲色| 亚洲一区影音先锋| 国产丝袜视频在线观看| 久久激情视频久久| 日本久久久久| 亚洲午夜精品国产| 久久超级碰视频| 天堂а√在线中文在线鲁大师| 欧美日韩亚洲高清一区二区| 国产区视频在线播放| 日韩av电影在线免费播放| 国产成人精品免费视| 成人在线观看黄| 国产午夜三级一区二区三| 糖心vlog精品一区二区| 中文字幕av一区中文字幕天堂 | 日韩不卡一二三区| 精品欧美一区二区久久久| 91国产精品成人| 波多野结衣在线影院| 国产精品综合网站| 99re6这里只有精品| 男女污污视频网站| 亚洲美女屁股眼交| 亚洲精品一区二区三区四区| 午夜精品久久17c| 国产成人精品999在线观看| wwww.国产| 亚洲九九爱视频| 亚洲AV无码一区二区三区性| 97国产精品免费视频| 免费看成人吃奶视频在线| 欧美伦理片在线看| 国产精品国产三级国产有无不卡 | 91美女在线视频| 一二三区免费视频| 日韩资源在线观看| 日韩免费高清视频网站| 精品久久一二三| 国产精品人妖ts系列视频| 国产精品人妻一区二区三区| 欧美激情一区二区三区高清视频| 超碰在线成人| 国产精品人人妻人人爽人人牛| 中文字幕制服丝袜一区二区三区 | 99精品国产高清一区二区麻豆| 成人免费观看cn| 欧美国产激情二区三区| 国产成人精品白浆久久69| 91精品国产91久久久久久久久| 精品视频久久| 精品国产aⅴ一区二区三区东京热| 亚洲1区2区3区4区| jizz在线观看| 国产精品一区视频| 日韩电影网1区2区| 欧美精品入口蜜桃| 亚洲天堂久久av| 伊人精品综合| 久久久精品麻豆| 午夜婷婷国产麻豆精品| 在线免费观看黄色| 精品一卡二卡三卡四卡日本乱码| 麻豆一区二区三区| 日韩视频免费观看高清| 日韩中文在线中文网三级| 青青草原在线亚洲| 永久免费黄色片|