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

微信公號開發實戰之歷史上的今天

移動開發
本篇文章主要講解如何在微信公眾帳號上實現“歷史上的今天”功能。這個例子本身并不復雜,但希望通過對它的學習,讀者能夠對正則表達式有一個新的認識,能夠學會運用現有的網絡資源豐富自己的公眾賬號。

本篇文章主要講解如何在微信公眾帳號上實現“歷史上的今天”功能。這個例子本身并不復雜,但希望通過對它的學習,讀者能夠對正則表達式有一個新的認識,能夠學會運用現有的網絡資源豐富自己的公眾賬號。

何謂歷史上的今天

回顧歷史的長河,歷史是生活的一面鏡子;以史為鑒,可以知興衰;歷史上的每一天,都是喜憂參半;可以了解歷史的這一天發生的事件,借古可以鑒今,歷史是不能忘記的。查看歷史上每天發生的重大事情,增長知識,開拓眼界,提高人文素養。

尋找接口(數據源)

要實現查詢“歷史上的今天”,首先我們要找到相關數據源。筆者經過搜索發現,網絡上幾乎沒有現成的“歷史上的今天”API可以使用,所以我們只能通過爬取、解析網頁源代碼的方式得到我們需要的數據。筆者發現網站http://www.rijiben.com/上包含“歷史上的今天”功能,就用它做數據源了。

開發步驟

為了便于讀者理解,我們需要清楚該應用實例的開發步驟,主要如下:

1)發起HTTP GET請求,獲取網頁源代碼。

2)運用正則表達式從網頁源代碼中抽取我們需要的數據。

3)對抽取得到的數據進行加工(使內容呈現更加美觀)。

4)將以上三步進行封裝,供外部調用。

5)在公眾賬號后臺調用封裝好的“歷史上的今天”查詢方法。

代碼實現

筆者將上述步驟1)、2)、3)中的代碼實現封裝成了TodayInHistoryService類,并對外提供了getTodayInHistory()方法來獲取“歷史上的今天”。實現代碼如下:

  1. import java.io.BufferedReader; 
  2. import java.io.InputStream; 
  3. import java.io.InputStreamReader; 
  4. import java.net.HttpURLConnection; 
  5. import java.net.URL; 
  6. import java.text.DateFormat; 
  7. import java.text.SimpleDateFormat; 
  8. import java.util.Calendar; 
  9. import java.util.regex.Matcher; 
  10. import java.util.regex.Pattern; 
  11.  
  12. /** 
  13.  * 歷史上的今天查詢服務 
  14.  *  
  15.  * @author liufeng 
  16.  * @date 2013-10-16 
  17.  *  
  18.  */ 
  19. public class TodayInHistoryService { 
  20.  
  21.     /** 
  22.      * 發起http get請求獲取網頁源代碼 
  23.      *  
  24.      * @param requestUrl 
  25.      * @return 
  26.      */ 
  27.     private static String httpRequest(String requestUrl) { 
  28.         StringBuffer buffer = null
  29.  
  30.         try { 
  31.             // 建立連接 
  32.             URL url = new URL(requestUrl); 
  33.             HttpURLConnection httpUrlConn = (HttpURLConnection) url.openConnection(); 
  34.             httpUrlConn.setDoInput(true); 
  35.             httpUrlConn.setRequestMethod("GET"); 
  36.  
  37.             // 獲取輸入流 
  38.             InputStream inputStream = httpUrlConn.getInputStream(); 
  39.             InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8"); 
  40.             BufferedReader bufferedReader = new BufferedReader(inputStreamReader); 
  41.  
  42.             // 讀取返回結果 
  43.             buffer = new StringBuffer(); 
  44.             String str = null
  45.             while ((str = bufferedReader.readLine()) != null) { 
  46.                 buffer.append(str); 
  47.             } 
  48.  
  49.             // 釋放資源 
  50.             bufferedReader.close(); 
  51.             inputStreamReader.close(); 
  52.             inputStream.close(); 
  53.             httpUrlConn.disconnect(); 
  54.         } catch (Exception e) { 
  55.             e.printStackTrace(); 
  56.         } 
  57.         return buffer.toString(); 
  58.     } 
  59.  
  60.     /** 
  61.      * 從html中抽取出歷史上的今天信息 
  62.      *  
  63.      * @param html 
  64.      * @return 
  65.      */ 
  66.     private static String extract(String html) { 
  67.         StringBuffer buffer = null
  68.         // 日期標簽:區分是昨天還是今天 
  69.         String dateTag = getMonthDay(0); 
  70.  
  71.         Pattern p = Pattern.compile("(.*)(<div class=\"listren\">)(.*?)(</div>)(.*)"); 
  72.         Matcher m = p.matcher(html); 
  73.         if (m.matches()) { 
  74.             buffer = new StringBuffer(); 
  75.             if (m.group(3).contains(getMonthDay(-1))) 
  76.                 dateTag = getMonthDay(-1); 
  77.  
  78.             // 拼裝標題 
  79.             buffer.append("≡≡ ").append("歷史上的").append(dateTag).append(" ≡≡").append("\n\n"); 
  80.  
  81.             // 抽取需要的數據 
  82.             for (String info : m.group(3).split("  ")) { 
  83.                 info = info.replace(dateTag, "").replace("(圖)""").replaceAll("</?[^>]+>""").trim(); 
  84.                 // 在每行末尾追加2個換行符 
  85.                 if (!"".equals(info)) { 
  86.                     buffer.append(info).append("\n\n"); 
  87.                 } 
  88.             } 
  89.         } 
  90.         // 將buffer最后兩個換行符移除并返回 
  91.         return (null == buffer) ? null : buffer.substring(0, buffer.lastIndexOf("\n\n")); 
  92.     } 
  93.  
  94.     /** 
  95.      * 獲取前/后n天日期(M月d日) 
  96.      *  
  97.      * @return 
  98.      */ 
  99.     private static String getMonthDay(int diff) { 
  100.         DateFormat df = new SimpleDateFormat("M月d日"); 
  101.         Calendar c = Calendar.getInstance(); 
  102.         c.add(Calendar.DAY_OF_YEAR, diff); 
  103.         return df.format(c.getTime()); 
  104.     } 
  105.  
  106.     /** 
  107.      * 封裝歷史上的今天查詢方法,供外部調用 
  108.      *  
  109.      * @return 
  110.      */ 
  111.     public static String getTodayInHistoryInfo() { 
  112.         // 獲取網頁源代碼 
  113.         String html = httpRequest("http://www.rijiben.com/"); 
  114.         // 從網頁中抽取信息 
  115.         String result = extract(html); 
  116.  
  117.         return result; 
  118.     } 
  119.  
  120.     /** 
  121.      * 通過main在本地測試 
  122.      *  
  123.      * @param args 
  124.      */ 
  125.     public static void main(String[] args) { 
  126.         String info = getTodayInHistoryInfo(); 
  127.         System.out.println(info); 
  128.     } 

代碼解讀:

1)27-58行代碼是httpRequest()方法,用于發起http get請求,獲取指定url的網頁源代碼。

2)66-92行代碼是extract()方法,運用正則表達式從網頁源代碼中抽取“歷史上的今天”數據。

3)111-118行代碼是getTodayInHistory()方法,封裝給外部調用查詢“歷史上的今天”。

4)125-128行代碼是main方法,用于在本地的開發工具中測試。

5)75-76行代碼的作用是判斷獲取到的“歷史上的今天”數據是當天的還是前一天的(因為不能保證www.rijiben.com上的數據一定在凌晨零點準時更新,所以為了保證數據的準確性必須做此判斷)。

6)第71行代碼是本文的重點,筆者編寫的正則表達式規則是“(.*)(<div class=\"listren\">)(.*?)(</div>)(.*)”。正則表達式規則需要根據網頁源代碼進行編寫的,特別是包含“歷史上的今天”數據的那部分HTML標簽,所以我們先來查看網頁源代碼。通過httpRequest("http://www.rijiben.com/")方法獲取到的網頁源代碼,與我們通過瀏覽器訪問http://www.rijiben.com/頁面再點擊右鍵選擇“查看網頁源代碼”所得到的結果完全一致。我們通過瀏覽器查看http://www.rijiben.com/的網頁源代碼,然后找到“歷史上的今天”數據所在位置,如下圖所示:

從上面的源代碼截圖中可以看到,我們需要的數據被包含在<div class="listren">標簽內,這樣就不難理解為什么正則表達式要這樣寫:

(.*)(<div class=\"listren\">)(.*?)(</div>)(.*)

我們使用括號()將正則表達式規則分成了5組,下面是這些分組的說明:

  • 第1組:(.*)表示網頁源代碼中<div class="listren">標簽之前還有任意多個字符。
  • 第2組:(<div class=\"listren\">)中的反斜杠表示轉義,所以該規則就是用于匹配<div class="listren">。
  • 第3組:(.*?)表示在標簽<div class="listren">和</div>之間的所有內容,這才是我們真正需要的數據所在。
  • 第4組:(</div>)就是用于匹配<div class="listren">的結束標簽。
  • 第5組:(.*)表示在</div>標簽之后還有任意多的字符。

掌握了正則表達式規則的含義,就不難理解為什么在extract()方法中全都是在使用m.group(3),因為m.group(3)就表示匹配到數據的第3個分組。m.group(3)的內容如下:

  1. <ul>                      <li><a href="/news6836/" title="0690年10月16日 武則天登上皇位">0690年10月16日 武則天登上皇位</a>&nbsp;&nbsp;(圖)</li>                      <li><a href="/news6837/" title="1854年10月16日 唯美主義運動的倡導者王爾德誕辰">1854年10月16日 唯美主義運動的倡導者王爾德誕辰</a>&nbsp;&nbsp;</li>                      <li><a href="/news6838/" title="1854年10月16日 德國社會主義活動家考茨基誕生">1854年10月16日 德國社會主義活動家考茨基誕生</a>&nbsp;&nbsp;</li>                      <li><a href="/news6839/" title="1908年10月16日 阿爾巴尼亞領導人恩維爾·霍查誕辰">1908年10月16日 阿爾巴尼亞領導人恩維爾·霍查誕辰</a>&nbsp;&nbsp;(圖)</li>                      <li><a href="/news6840/" title="1913年10月16日 中國“兩彈一星”元勛錢三強誕辰">1913年10月16日 中國“兩彈一星”元勛錢三強誕辰</a>&nbsp;&nbsp;(圖)</li>                      <li><a href="/news6841/" title="1922年10月16日 開灤煤礦工人罷工失敗">1922年10月16日 開灤煤礦工人罷工失敗</a>&nbsp;&nbsp;(圖)</li>                      <li><a href="/news6842/" title="1927年10月16日 德國諾貝爾文學獎得主格拉斯誕生">1927年10月16日 德國諾貝爾文學獎得主格拉斯誕生</a>&nbsp;&nbsp;(圖)</li>                      <li><a href="/news6843/" title="1933年10月16日 抗日同盟軍失敗">1933年10月16日 抗日同盟軍失敗</a>&nbsp;&nbsp;(圖)</li>                      <li><a href="/news6844/" title="1950年10月16日 人民解放軍進軍西藏">1950年10月16日 人民解放軍進軍西藏</a>&nbsp;&nbsp;(圖)</li>                      <li><a href="/news6845/" title="1954年10月16日 俞平伯《關于紅樓夢研究問題的信》發表">1954年10月16日 俞平伯《關于紅樓夢研究問題的信》發表</a>&nbsp;&nbsp;(圖)</li>                      <li><a href="/news6846/" title="1959年10月16日 美軍將領、國務卿馬歇爾去世">1959年10月16日 美軍將領、國務卿馬歇爾去世</a>&nbsp;&nbsp;(圖)</li>                      <li><a href="/news6847/" title="1964年10月16日 勃列日涅夫取代赫魯曉夫  成為蘇共中央第一書記">1964年10月16日 勃列日涅夫取代赫魯曉夫  成為蘇共中央第一書記</a>&nbsp;&nbsp;</li>                      <li><a href="/news6848/" title="1964年10月16日 我國第一顆原子彈爆炸成功">1964年10月16日 我國第一顆原子彈爆炸成功</a>&nbsp;&nbsp;(圖)</li>                      <li><a href="/news6849/" title="1973年10月16日 震撼世界的石油危機爆發">1973年10月16日 震撼世界的石油危機爆發</a>&nbsp;&nbsp;(圖)</li>                      <li><a href="/news6850/" title="1978年10月16日 約翰·保羅二世當選新教皇">1978年10月16日 約翰·保羅二世當選新教皇</a>&nbsp;&nbsp;</li>                      <li><a href="/news6851/" title="1979年10月16日 哈克將軍宣布巴基斯坦推遲大選解散政黨">1979年10月16日 哈克將軍宣布巴基斯坦推遲大選解散政黨</a>&nbsp;&nbsp;</li>                      <li><a href="/news6852/" title="1984年10月16日 圖圖主教榮獲“諾貝爾和平獎”">1984年10月16日 圖圖主教榮獲“諾貝爾和平獎”</a>&nbsp;&nbsp;</li>                      <li><a href="/news6853/" title="1988年10月16日 北京正負電子對撞機對撞成功">1988年10月16日 北京正負電子對撞機對撞成功</a>&nbsp;&nbsp;(圖)</li>                      <li><a href="/news6854/" title="1991年10月16日 美國小鎮槍殺案22人喪生">1991年10月16日 美國小鎮槍殺案22人喪生</a>&nbsp;&nbsp;</li>                      <li><a href="/news6855/" title="1991年10月16日 莫扎特死因有新說">1991年10月16日 莫扎特死因有新說</a>&nbsp;&nbsp;</li>                      <li><a href="/news6856/" title="1991年10月16日 錢學森獲“國家杰出貢獻科學家”殊榮">1991年10月16日 錢學森獲“國家杰出貢獻科學家”殊榮</a>&nbsp;&nbsp;(圖)</li>                      <li><a href="/news6857/" title="1994年10月16日 德國總理科爾四連任">1994年10月16日 德國總理科爾四連任</a>&nbsp;&nbsp;</li>                      <li><a href="/news6858/" title="1994年10月16日 第十二屆廣島亞運會閉幕">1994年10月16日 第十二屆廣島亞運會閉幕</a>&nbsp;&nbsp;</li>                      <li><a href="/news6859/" title="1994年10月16日 修秦陵制秦俑工匠墓葬被發現">1994年10月16日 修秦陵制秦俑工匠墓葬被發現</a>&nbsp;&nbsp;</li>                      <li><a href="/news6860/" title="1995年10月16日 美國百萬黑人男子大游行">1995年10月16日 美國百萬黑人男子大游行</a>&nbsp;&nbsp;(圖)</li>                    </ul>        

可以看到,通過正則表達式抽取得到的m.group(3)中仍然有大量的html標簽、空格、換行、無關字符等。我們要想辦法把它們全部過濾掉,第83行代碼的作用正是如此。

組裝文本消息

  1. // 組裝文本消息(歷史上的今天) 
  2. TextMessage textMessage = new TextMessage(); 
  3. textMessage.setToUserName(fromUserName); 
  4. textMessage.setFromUserName(toUserName); 
  5. textMessage.setCreateTime(new Date().getTime()); 
  6. textMessage.setMsgType(WeixinUtil.RESP_MESSAGE_TYPE_TEXT); 
  7. textMessage.setFuncFlag(0); 
  8. textMessage.setContent(TodayInHistoryService.getTodayInHistoryInfo()); 

效果示例:

說明:與其說這是一篇關于公眾帳號應用開發的教程,倒不如說這是一篇關于網頁數據爬取的教程。本文旨在為讀者開辟思路,介紹一種數據獲取方式。當然,這種做法也是有弊端的,當網頁改版源代碼結構發生變化時,就需要重新改寫數據抽取代碼。

責任編輯:徐川 來源: blog
相關推薦

2013-11-13 01:25:33

微信微信公號微信公眾賬號

2013-11-13 00:14:16

微信微信公號微信公眾賬號

2013-11-13 00:51:22

微信微信公號微信公眾賬號

2013-11-13 00:37:12

微信微信公號微信公眾賬號

2012-01-12 14:06:34

2013-09-09 16:38:01

諾基亞微軟

2013-11-12 23:32:53

微信公號微信公眾賬號

2010-09-15 08:59:04

開源交易

2011-07-01 10:20:32

2024-03-19 08:00:00

測試漏洞

2023-12-19 11:22:05

2023-10-26 00:07:04

2017-07-28 10:55:49

AITayAlexa

2013-11-13 00:20:01

微信微信公號微信公眾賬號

2023-11-27 15:03:26

2015-12-25 11:34:25

2011-03-16 10:00:46

2012-11-13 10:32:22

2015-06-08 09:46:04

2013-11-04 09:29:14

科技創業IT
點贊
收藏

51CTO技術棧公眾號

色999日韩欧美国产| 一区二区三区四区在线| 国产精品视频区1| 中文字幕观看av| 精品三级av| 色悠久久久久综合欧美99| 亚洲bbw性色大片| 国产浮力第一页| 六月婷婷一区| 欧美激情精品久久久久久久变态| 醉酒壮男gay强迫野外xx| 欧洲成人一区| 天天色天天操综合| 久久精品国产精品亚洲精品色| 懂色av成人一区二区三区| 日韩—二三区免费观看av| 久久久久国产精品免费| 少妇一级黄色片| 欧洲亚洲视频| 日韩视频免费直播| 免费看污黄网站| 福利写真视频网站在线| 国产精品五月天| 热舞福利精品大尺度视频| www日本高清| 激情综合色播五月| 国产精品久久久久免费a∨大胸 | 香蕉久久国产av一区二区| 寂寞少妇一区二区三区| 亚洲国内欧美| 精品国偷自产国产一区| 中文字幕天天干| 345成人影院| 偷拍亚洲欧洲综合| 国产传媒久久久| 成人日日夜夜| 国产精品第13页| 亚洲激情一区二区| 国产区在线视频| 久久久久88色偷偷免费| 久久久亚洲综合网站| 蜜桃av噜噜一区二区三区麻豆| 麻豆成人久久精品二区三区小说| 日韩av手机在线| 久久99国产综合精品免费| 国产欧美日韩一级| 国产69精品久久久久9| 免费日韩在线视频| 国产精品红桃| 欧美激情国产高清| 在线观看 中文字幕| 最新成人av网站| 7777kkkk成人观看| wwwwww国产| 久久久久国产精品午夜一区| 538国产精品视频一区二区| 五月激情六月丁香| 日韩国产欧美在线播放| 国产成人啪精品视频免费网| 特级西西444www大胆免费看| 免费在线观看成人| 国产欧洲精品视频| av观看在线免费| 国产九色精品成人porny| 成人看片在线| 手机福利小视频在线播放| 久久青草国产手机看片福利盒子 | 一起操在线视频| 综合欧美精品| 精品福利在线导航| 双性尿奴穿贞c带憋尿| 精品国产一区二区三区小蝌蚪| 一本色道久久88综合亚洲精品ⅰ | 成人激情视频在线观看| 国产精品高潮呻吟av| 国产精品一区二区三区网站| 国产免费一区二区| 极品美乳网红视频免费在线观看| 欧美高清在线一区二区| 黄黄视频在线观看| 免费h在线看| 欧美三级视频在线播放| 亚洲女人在线观看| 亚州综合一区| 精品国产欧美一区二区三区成人| 免费人成年激情视频在线观看| 亚洲综合日本| 成人乱色短篇合集| 手机看片一区二区| 国产精品理论片| 亚洲国产精品无码观看久久| 国产成人精品亚洲日本在线观看| 欧美日韩午夜在线| 一级欧美一级日韩片| 色乱码一区二区三区网站| 欧美精品电影在线| 久久久精品毛片| 国产99久久久国产精品| 欧美日韩视频在线一区二区观看视频| 麻豆系列在线观看| 欧美性高潮在线| 巨乳女教师的诱惑| 欧美日韩性在线观看| 久久久久久久久久婷婷| 一卡二卡三卡在线观看| 99久久99久久精品免费看蜜桃| 一本色道婷婷久久欧美| 午夜激情在线播放| 精品欧美一区二区在线观看| 老头老太做爰xxx视频| 国产专区一区| 成人激情在线观看| 岛国在线视频| 午夜免费久久看| 91精品国产三级| 成人91在线| 538国产精品一区二区免费视频 | 精品无码久久久久久国产| www.99re7| 麻豆精品国产传媒mv男同| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 久久成人羞羞网站| 欧美伦理一区二区| 91美女精品| 欧美大片在线观看一区| 一级性生活免费视频| 日韩av网站在线观看| 久久精品日产第一区二区三区| 97超碰在线公开在线看免费| 欧美三级视频在线播放| 夫妇交换中文字幕| 久久一区激情| 鲁丝一区二区三区免费| 岛国av在线播放| 亚洲成人网在线| 青青草手机在线视频| 国内精品在线播放| 一卡二卡3卡四卡高清精品视频| 日韩久久一区二区三区| 亚洲欧美国产精品专区久久| 青青草免费观看视频| av在线不卡网| 秋霞无码一区二区| 国产精品nxnn| 国内免费精品永久在线视频| 亚洲国产精品二区| 亚洲综合999| 久久精品aⅴ无码中文字字幕重口| 一区二区三区中文| 91传媒在线免费观看| 国产乱色在线观看| 日韩欧美一区在线| 欧美毛片在线观看| 成人av综合在线| 国产精品50p| 精品一区在线| 国产精品在线看| 免费av不卡| 欧美大片在线观看一区| 99视频在线看| 国产午夜精品理论片a级大结局| 成年人网站大全| 日韩国产一区| 亚洲qvod图片区电影| 宅男网站在线免费观看| 亚洲二区中文字幕| 国产黄网在线观看| 中文一区二区在线观看| 成人高清在线观看视频| 亚洲大片在线| 日本高清不卡三区| 91视频成人| 久久人人爽人人| 久久米奇亚洲| 欧美精品1区2区3区| 久久免费视频精品| 久久久精品影视| 色网站在线视频| 国产欧美一区二区色老头| 欧美一区二区三区精美影视| 色8久久久久| 国产+人+亚洲| 9色在线视频| 精品国产电影一区二区| 亚洲视频 欧美视频| 中文字幕一区免费在线观看| 亚洲av无码专区在线播放中文| 亚洲影音先锋| 9l视频自拍9l视频自拍| 欧美日韩一区二区三区不卡视频| 国产精品视频xxxx| 久草在线视频网站| 尤物yw午夜国产精品视频| www.久久久久久| 日本精品一级二级| 精品无码人妻一区二区三| 日本一区二区成人| 男人的天堂影院| 久久精品免费观看| 丰满少妇被猛烈进入高清播放| 91综合在线| 欧美日本国产精品| 一区二区三区四区精品视频| 国产精品欧美一区二区| а√在线中文在线新版| 久久久久北条麻妃免费看| 日本又骚又刺激的视频在线观看| 这里只有精品99re| 日韩一级片中文字幕| 亚洲高清久久久| 91久久久久久久久久久久久久| 91麻豆精品在线观看| 性生交大片免费看l| 免费国产亚洲视频| 免费激情视频在线观看| 亚洲另类视频| 精品人妻人人做人人爽| 99tv成人| 天堂社区 天堂综合网 天堂资源最新版| 99精品中文字幕在线不卡| 成人免费激情视频| 青青伊人久久| 国产精品久久久久久影视 | 狠狠综合久久av一区二区老牛| 亚洲 日韩 国产第一区| 91麻豆精品国产91久久综合| 丝袜美腿亚洲色图| 国产中文字幕视频在线观看| 午夜精品亚洲| 大桥未久一区二区| 欧美丰满日韩| 亚洲一区不卡在线| 全球成人免费直播| 四虎一区二区| 国产欧美日韩精品一区二区三区| 国产欧美日韩综合精品二区| 粉嫩一区二区三区四区公司1| 91免费版网站入口| 蜜桃在线一区| 亚洲在线视频福利| 亚洲日本va午夜在线电影| 亚洲一区二区免费| 久久爱www.| 99在线免费观看视频| 亚洲精品一二三**| 97人人模人人爽人人少妇| 免费一级欧美片在线观看网站| 91精品视频在线免费观看| 粉嫩一区二区三区在线观看| 成人网在线免费看| 亚洲精品国产九九九| 国产精品一 二 三| 欧美影院天天5g天天爽| 欧美精品尤物在线| 精品国产精品久久一区免费式| 先锋影音欧美| 亚洲天天综合| 激情五月婷婷六月| 在线亚洲一区| 国产成人综合一区| 精品亚洲porn| 精品无码av一区二区三区不卡| 成人网在线免费视频| 一区二区视频观看| 中文字幕不卡在线观看| 天堂а√在线中文在线鲁大师| 一区二区在线看| 国产一级片毛片| 欧美日韩精品是欧美日韩精品| 国产理论视频在线观看| 精品国产91久久久久久久妲己| 日本免费不卡| 日韩中文字幕欧美| 俺来也官网欧美久久精品| 庆余年2免费日韩剧观看大牛| 日韩在线观看不卡| 99www免费人成精品| 亚洲精品动态| 国产精品jizz在线观看老狼| 激情亚洲成人| 亚洲三级视频网站| 懂色av一区二区三区免费观看| 国产又爽又黄无码无遮挡在线观看| 国产午夜精品久久久久久久| 青娱乐国产精品| 日本道免费精品一区二区三区| 国产日产亚洲系列最新| 日韩精品久久久久| 黄色免费在线观看网站| 911国产网站尤物在线观看| 最新日韩一区| 国产精品久久一区二区三区| 精品无人区麻豆乱码久久久| 精品久久久无码人妻字幂| 久久精品亚洲一区二区| 男生和女生一起差差差视频| 久久婷婷国产综合国色天香 | 四虎在线视频免费观看| 在线看日韩欧美| 韩国成人二区| 91嫩草国产在线观看| 精品视频黄色| 国产原创中文在线观看| 精品在线亚洲视频| 无码人妻精品一区二区中文| 洋洋av久久久久久久一区| 自拍偷拍第八页| 日韩精品免费一线在线观看| 99视频免费在线观看| 国产精品女主播视频| 外国成人在线视频| 国产真实老熟女无套内射| 麻豆91在线播放| 精品国产成人亚洲午夜福利| 亚洲第一激情av| 国产极品久久久| xvideos亚洲| 国产一区二区三区影视| 欧美成人蜜桃| 日韩午夜精品| 国产av一区二区三区传媒| 亚洲欧美日韩中文播放| 亚洲无码精品国产| 国产一区二区三区在线播放免费观看 | 日韩最新在线| 亚洲国产成人精品无码区99| 国产成人亚洲综合a∨猫咪| 欧美日韩色视频| 欧美喷潮久久久xxxxx| www.国产精品.com| 国产成人中文字幕| 免费视频国产一区| 免费av网址在线| 久久综合999| 久久久免费高清视频| 亚洲国产小视频| 老牛影视精品| 九九久久99| 亚洲女人av| 最近中文字幕免费视频| 日韩欧美亚洲国产一区| 免费黄网站在线观看| 青青久久av北条麻妃黑人| 亚洲精品进入| 毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 亚洲激情女人| 国产一级二级在线观看| 色综合久久88色综合天天| 免费在线黄色影片| 福利一区二区在线观看| 国内精品久久99人妻无码| 欧美日韩精品在线视频| 神马精品久久| 国产aaa精品| 国际精品欧美精品| 15—17女人毛片| 亚洲欧洲色图综合| 国产xxxxxx| 国内精品久久久久久| 天天操综合520| 欧美日韩亚洲自拍| 综合在线观看色| 丁香六月色婷婷| 全球成人中文在线| 欧美aaaa视频| 97中文字幕在线观看| 婷婷夜色潮精品综合在线| 欧美色综合一区二区三区| 国产精品欧美激情在线播放| 午夜精品毛片| 少妇激情一区二区三区视频| 日韩欧美精品中文字幕| 一级毛片视频在线| 成人自拍爱视频| 日本麻豆一区二区三区视频| 日本中文在线视频| 亚洲精品电影网| 99久久er| 丰满的少妇愉情hd高清果冻传媒| 久久影院午夜论| 国产区精品在线| 热久久这里只有精品| 亚洲成人国产| 欧美做受喷浆在线观看| 欧美美女激情18p| 2020国产在线| 亚洲欧美国产不卡| 成人h精品动漫一区二区三区| 懂色av蜜臀av粉嫩av喷吹| 欧美国产精品va在线观看| 欧美日韩xxxx| 亚洲熟妇一区二区| 欧美性一级生活| 波多一区二区| www.黄色网址.com| 久久精品一区二区三区av| 国产色片在线观看| 国产精品久久久久77777| 国产综合亚洲精品一区二| 手机av在线不卡|