taiwanese_news_parser 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +23 -0
  6. data/Rakefile +4 -0
  7. data/g0v.json +37 -0
  8. data/lib/taiwanese_news_parser/parser/apple_daily.rb +69 -0
  9. data/lib/taiwanese_news_parser/parser/china_times.rb +76 -0
  10. data/lib/taiwanese_news_parser/parser/cna.rb +59 -0
  11. data/lib/taiwanese_news_parser/parser/cts.rb +52 -0
  12. data/lib/taiwanese_news_parser/parser/ettoday.rb +53 -0
  13. data/lib/taiwanese_news_parser/parser/liberty_times.rb +66 -0
  14. data/lib/taiwanese_news_parser/parser/liberty_times_big5.rb +51 -0
  15. data/lib/taiwanese_news_parser/parser/now_news.rb +53 -0
  16. data/lib/taiwanese_news_parser/parser/tvbs.rb +46 -0
  17. data/lib/taiwanese_news_parser/parser/udn.rb +43 -0
  18. data/lib/taiwanese_news_parser/parser.rb +57 -0
  19. data/lib/taiwanese_news_parser/url_cleaner.rb +19 -0
  20. data/lib/taiwanese_news_parser/version.rb +3 -0
  21. data/lib/taiwanese_news_parser.rb +15 -0
  22. data/spec/spec_helper.rb +9 -0
  23. data/spec/taiwanese_news_parser/parser/apple_daily_s1.html +484 -0
  24. data/spec/taiwanese_news_parser/parser/apple_daily_s2.html +333 -0
  25. data/spec/taiwanese_news_parser/parser/apple_daily_s3.html +334 -0
  26. data/spec/taiwanese_news_parser/parser/apple_daily_spec.rb +57 -0
  27. data/spec/taiwanese_news_parser/parser/china_times_s1.html +513 -0
  28. data/spec/taiwanese_news_parser/parser/china_times_s2.html +538 -0
  29. data/spec/taiwanese_news_parser/parser/china_times_s3.html +893 -0
  30. data/spec/taiwanese_news_parser/parser/china_times_s4.html +1045 -0
  31. data/spec/taiwanese_news_parser/parser/china_times_spec.rb +63 -0
  32. data/spec/taiwanese_news_parser/parser/cna_s1.html +1616 -0
  33. data/spec/taiwanese_news_parser/parser/cna_spec.rb +33 -0
  34. data/spec/taiwanese_news_parser/parser/cts_s1.html +672 -0
  35. data/spec/taiwanese_news_parser/parser/cts_s2.html +672 -0
  36. data/spec/taiwanese_news_parser/parser/cts_spec.rb +36 -0
  37. data/spec/taiwanese_news_parser/parser/ettoday_s1.html +1817 -0
  38. data/spec/taiwanese_news_parser/parser/ettoday_s2.html +1822 -0
  39. data/spec/taiwanese_news_parser/parser/ettoday_spec.rb +35 -0
  40. data/spec/taiwanese_news_parser/parser/liberty_times_big5_s1.html +213 -0
  41. data/spec/taiwanese_news_parser/parser/liberty_times_big5_spec.rb +31 -0
  42. data/spec/taiwanese_news_parser/parser/liberty_times_s1.html +145 -0
  43. data/spec/taiwanese_news_parser/parser/liberty_times_spec.rb +29 -0
  44. data/spec/taiwanese_news_parser/parser/now_news_s1.html +968 -0
  45. data/spec/taiwanese_news_parser/parser/now_news_s2.html +986 -0
  46. data/spec/taiwanese_news_parser/parser/now_news_spec.rb +31 -0
  47. data/spec/taiwanese_news_parser/parser/tvbs_s1.html +734 -0
  48. data/spec/taiwanese_news_parser/parser/tvbs_s2.html +739 -0
  49. data/spec/taiwanese_news_parser/parser/tvbs_spec.rb +36 -0
  50. data/spec/taiwanese_news_parser/parser/udn_s1.html +1678 -0
  51. data/spec/taiwanese_news_parser/parser/udn_spec.rb +42 -0
  52. data/taiwanese_news_parser.gemspec +30 -0
  53. metadata +237 -0
@@ -0,0 +1,57 @@
1
+ require 'taiwanese_news_parser/url_cleaner'
2
+ require 'memoist'
3
+
4
+ class TaiwaneseNewsParser::Parser
5
+ extend Memoist
6
+
7
+ attr_accessor :url
8
+ attr_reader :article
9
+
10
+ def self.applicable?(url)
11
+ url.include?(domain())
12
+ end
13
+
14
+ def self.applicable_parser(url)
15
+ parser_class = subclasses.find do |parser_class|
16
+ parser_class.applicable?(url)
17
+ end
18
+ if parser_class
19
+ parser_class.new(url)
20
+ end
21
+ end
22
+
23
+ def initialize(url)
24
+ @url = url
25
+ @article = {}
26
+ @article[:url] = url
27
+ @article[:web_domain] = self.class.domain()
28
+ @article[:url_id] = self.class.parse_url_id(url)
29
+ end
30
+
31
+ def doc
32
+ @raw = open(url).read.encode('utf-8', 'big5', :invalid => :replace, :undef => :replace, :replace => '')
33
+ @doc = ::Nokogiri::HTML(@raw,url)
34
+ end
35
+ memoize :doc
36
+
37
+ def clean_up
38
+ [:content, :title, :reporter_name, :company_name].each do |attr|
39
+ @article[attr].strip! if @article[attr]
40
+ end
41
+ clean_url if respond_to?(:clean_url)
42
+ @article[:reproduced] = reproduced?
43
+ end
44
+
45
+ def reproduced?
46
+ !self.class.names.include?(parse_company_name)
47
+ end
48
+
49
+ Dir[File.dirname(__FILE__) + '/parser/*.rb'].each{|file| require file}
50
+ def self.subclasses
51
+ [ Udn, LibertyTimes, LibertyTimesBig5, ChinaTimes, Cna, AppleDaily, Ettoday, Tvbs, Cts, NowNews ]
52
+ end
53
+
54
+ def self.domain
55
+ raise NotImplementedError
56
+ end
57
+ end
@@ -0,0 +1,19 @@
1
+ require "addressable/uri"
2
+ class TaiwaneseNewsParser::UrlCleaner
3
+ # white_list: Array of string, denoting url query
4
+ # parameters that cleaner should keep
5
+ def initialize(white_list = nil)
6
+ @white_list = Array(white_list)
7
+ @white_list.map!(&:to_s)
8
+ end
9
+
10
+ def clean(url)
11
+ @url = Addressable::URI.parse(url)
12
+ params = @url.query_values
13
+ if params
14
+ params.keep_if{|k,v| @white_list.include?(k) }
15
+ end
16
+ @url.query_values = params
17
+ @url.to_s
18
+ end
19
+ end
@@ -0,0 +1,3 @@
1
+ module TaiwaneseNewsParser
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,15 @@
1
+ require "taiwanese_news_parser/version"
2
+ require "taiwanese_news_parser/parser"
3
+ require 'nokogiri'
4
+ require 'open-uri'
5
+
6
+ module TaiwaneseNewsParser
7
+ # returns a parser with basic information such as url unique code
8
+ def self.new(url)
9
+ Parser.applicable_parser(url)
10
+ end
11
+
12
+ def self.parse(url)
13
+ Parser.applicable_parser(url).parse
14
+ end
15
+ end
@@ -0,0 +1,9 @@
1
+ require 'taiwanese_news_parser'
2
+ require 'fake_web'
3
+ require 'timecop'
4
+
5
+ RSpec.configure do |config|
6
+ def sample(path, filename)
7
+ open(File.join(File.dirname(path), filename))
8
+ end
9
+ end
@@ -0,0 +1,484 @@
1
+ <!DOCTYPE html>
2
+ <!--[if lt IE 7 ]> <html lang="zh-TW" class="ie6 ielt8"> <![endif]-->
3
+ <!--[if IE 7 ]> <html lang="zh-TW" class="ie7 ielt8"> <![endif]-->
4
+ <!--[if IE 8 ]> <html lang="zh-TW" class="ie8"> <![endif]-->
5
+ <!--[if (gte IE 9)|!(IE)]><!--> <html lang="zh-TW"> <!--<![endif]-->
6
+ <head>
7
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
8
+ <title>邱文達內定衛福部長 政次曾中明戴桂英呼聲高 | 即時新聞 | 20130629 | 蘋果日報</title>
9
+ <meta name="Title" content="邱文達內定衛福部長 政次曾中明戴桂英呼聲高 | 即時新聞 | 20130629 | 蘋果日報" />
10
+ <meta name="description" content="【王家俊/台北報導】配合行政院組織改造,內政部社會司、兒童局、家庭暴力及性侵害防治委員會7月下旬併入衛生福利部,官員透露,衛福部長內定由現任衛生署長邱文達轉任;兩位政務次長人選,社政專長的內政部常次曾"/>
11
+ <meta name="keywords" content=",政治,politics,蘋果日報,政治新聞,apple daily,台灣,爽報,壹週刊,壹電視,動新聞,即時新聞,影音新聞" />
12
+ <meta name="Robots" content="INDEX,FOLLOW" />
13
+ <meta property="fb:admins" content="100003491041452"/>
14
+ <meta property="fb:app_id" content="244889285591923"/>
15
+ <meta property="og:image" content="http://twimg.edgesuite.net/images/ReNews/20130629/420_7233271c00b00bd6c85d44d3d56d921f.jpg"/>
16
+ <link rel="canonical" href="http://www.appledaily.com.tw/realtimenews/article/new/20130629/217673/"/>
17
+ <link rel="stylesheet" href="http://tw.img.nextmedia.com/appledaily/images/css/style.css">
18
+ <link rel="stylesheet" href="http://tw.img.nextmedia.com/appledaily/images/css/rtnews.css">
19
+ <link rel="stylesheet" href="http://tw.img.nextmedia.com/appledaily/images/css/modules.css" />
20
+ <!--Video-->
21
+ <style type="text/css">
22
+ html,body{margin:0;padding:0;}
23
+ #mediaspace{position:absolute;top:0;left:0;display:block;width:630px;height:355px;padding:5px;}
24
+ #newimglayer {position:absolute;top:0;left:0;z-index:99;width:590px;height:350px;padding-left:25px;padding-top:7px;}
25
+ #unImage img,#newimglayer img{width:590px;height:350px;border:0;position: absolute; left:0px; top:0px;}
26
+ #newimglayer a.yes,#newimglayer a.no
27
+ {background-color: transparent;background-position:top left;background-repeat: no-repeat;position: absolute;top: 270px;display: block;width: 190px; height: 41px;z-index: 93; cursor: pointer;}
28
+ a.yes {background-image: url(http://imgorg.appledaily.com.tw/appledaily/images/core/yes_bg.png);left: 120px;}
29
+ a.no {background-image: url(http://imgorg.appledaily.com.tw/appledaily/images/core/no_bg.png);left:354px;}
30
+ #unImage{display: none;position: absolute;z-index: 1;}
31
+ .xy_18{position:relative;}
32
+ </style>
33
+ <script type="text/javascript" src="http://twimg.edgesuite.net/appledaily/adx/configuration.js"></script>
34
+ <script type="text/javascript" src="http://twimg.edgesuite.net/appledaily/adx/flowplayer-3.2.10.min.js"></script>
35
+ <script type="text/javascript" src="http://twimg.edgesuite.net/appledaily/adx/flowplayer.ipad-3.2.8.min.js?v=2.0.0"></script>
36
+ <script type="text/javascript" src="http://twimg.edgesuite.net/appledaily/adx/flowplayer.con-2.1.0.js?v=2.0.0"></script>
37
+ <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
38
+ <!-- OneVision, InPage -->
39
+ <script type="text/javascript" language="JavaScript" src="http://tw.img.nextmedia.com/appledaily/images/js/OneAD.js"></script>
40
+ <!-- OneVision, InPage -->
41
+ <script type="text/javascript">
42
+ // For OneAD, DON'T MODIFY the following
43
+ if (ONEAD){
44
+ ONEAD.uid = "1000001";
45
+ ONEAD.external_url = "http://advideoadmin.appledaily.com.tw/"; // base_url, post-slash is necessary
46
+ ONEAD.wrapper = 'ONEAD_player_wrapper';
47
+ ONEAD.category = 'inpage/realtimenews/politics';
48
+ ONEAD.display_type = 'inpage'; // inpage | instream
49
+ }
50
+ </script>
51
+ <script type="text/javascript" src="http://ad-specs.guoshipartners.com/static/js/isip.js"></script>
52
+ <script type="text/javascript" language="JavaScript" src="http://tw.adx.nextmedia.com/dfp/gpt.js?v20120524"></script>
53
+ <script>
54
+ googletag.cmd.push(function() {
55
+ HeadBanner = gpt.createAdSlot('AppleDaily/realtimenews_politics/HeadBanner', 'HeadBanner', 'leaderboard');
56
+ LREC1 = gpt.createAdSlot('AppleDaily/realtimenews_politics/LREC1', 'LREC', 'rectangleAD1');
57
+ LREC2 = gpt.createAdSlot('AppleDaily/realtimenews_politics/LREC2', 'LREC', 'rectangleAD2');
58
+ articlelast = gpt.createAdSlot('AppleDaily/realtimenews_politics/articlelast', '520x200', 'articlelast');
59
+ gpt.enableServices();
60
+ })
61
+ </script>
62
+ <script src="http://twimg.edgesuite.net/appledaily/images/js/jquery-1.7.2.min.js"></script>
63
+ <script src="http://tw.img.nextmedia.com/appledaily/images/js/jquery.tools.dateinput.js"></script>
64
+ <script>//更改字級大小
65
+ $(function(){ doZoom(18)});
66
+ function doZoom(size) {
67
+ $('#smaller').removeClass();
68
+ $('#middle').removeClass();
69
+ $('#bigger').removeClass();
70
+ $('#smaller').addClass('smaller overcooked');
71
+ $('#middle').addClass('middle overcooked');
72
+ $('#bigger').addClass('bigger overcooked');
73
+ switch(size){
74
+ case 16:
75
+ $('#smaller').addClass('smon');
76
+ break;
77
+ case 18:
78
+ $('#middle').addClass('mion');
79
+ break;
80
+ case 20:
81
+ $('#bigger').addClass('bion');
82
+ break;
83
+ }
84
+ document.cookie="FRONTSIZE="+size+"; path=/";
85
+ document.getElementById('h1').style.fontSize=(size+8)+'px';
86
+ document.getElementById('summary').style.fontSize=size+'px';
87
+ document.getElementById('caption0').style.fontSize=size+'px';
88
+ }
89
+ </script>
90
+ </head>
91
+ <body id="instant" class="polit">
92
+ <div class="wrapper"><div class="sqrezeer">
93
+ <script type="text/javascript" src="http://twimg.edgesuite.net/appledaily/images/js/global.js"></script>
94
+ <header id="globehead">
95
+ <div class="sqzer">
96
+ <hgroup>
97
+ <h2 class="nlogo"><a href="http://tw.nextmedia.com/" class="nextmedia overcooked">This is a part of NextMedia</a></h2>
98
+ <h1 class="clogo"><a href="/" class="overcooked">蘋果日報 | APPLE DAILY</a></h1>
99
+ </hgroup>
100
+ <nav id="corpnav">
101
+ <a href="http://www.appledaily.com.tw" class="opacity vanisher" target="_blank"><img src="http://twimg.edgesuite.net/appledaily/images/core/menu_AppleDaily.png" alt=" 蘋果日報" /></a>
102
+ <a href="http://www.appledaily.com.tw/animation" class="opacity" target="_blank"><img src="http://twimg.edgesuite.net/appledaily/images/core/menu_AnimatedNews.png" alt=" 動新聞" /></a>
103
+ <a href="http://sharpdaily.tw/" class="opacity" target="_blank"><img src="http://twimg.edgesuite.net/appledaily/images/core/menu_SharpDaily.png" alt="爽報" /></a>
104
+ <a href="http://tw.next.nextmedia.com" class="opacity" target="_blank"><img src="http://twimg.edgesuite.net/appledaily/images/core/menu_NextMag.png" alt="壹週刊" /></a>
105
+ <a href="http://www.nma.tv" class="opacity" target="_blank"><img src="http://twimg.edgesuite.net/appledaily/images/core/menu_NMAtv.png" alt="NMA.tv" /></a>
106
+ <a href="http://www.appledaily.com.tw/charity" class="opacity" target="_blank"><img src="http://twimg.edgesuite.net/appledaily/images/core/menu_Charity.png" alt="蘋果基金會" /></a>
107
+ <a href="http://video.nxtomo.tw" class="opacity last" target="_blank"><img src="http://twimg.edgesuite.net/appledaily/images/core/menu_nxtomo.gif" alt="nxTomo" /></a>
108
+ </nav>
109
+ <section id="worldwide">
110
+ <a href="http://tw.nextmedia.com/" class="tw on">台灣&nbsp;</a>
111
+ <a href="http://hk.nextmedia.com/" class="hk">香港&nbsp;</a>
112
+ </section>
113
+ <section id="corpgs">
114
+ <a href="http://www.appledaily.com.tw/ethics" class="mc" target="_blank">蘋果日報自律委員會</a>
115
+ <a href="http://tw.nextmedia.com/" class="nxlik" target="_blank"><span class="nh overcooked">Nextmedia</span></a>
116
+ </section>
117
+ </div>
118
+ </header> <div class="soil">
119
+ <section id="leaderboard" class="ads"><script type='text/javascript'>googletag.cmd.push(function() {googletag.display('leaderboard');})</script></section>
120
+ <script type="text/javascript">ONEAD_slot();</script>
121
+ <article id="maincontent" class="vertebrae">
122
+ <header class="rtlth">
123
+ <h1>即時新聞</h1>
124
+ </header>
125
+ <style>
126
+ .thoracis {
127
+ margin-bottom:10px;
128
+ }
129
+ .cate_menu {
130
+ overflow-x:hidden; width:512px; height:40px; float:left; margin-left:22px; margin-right:22px;
131
+ }
132
+ .cate_menu ul {
133
+ width:704px;
134
+ }
135
+ .cate_menu li {
136
+
137
+ }
138
+ .nav_slide_left{
139
+ width:42px; height:40px; float:left;
140
+ background: 0px -152px no-repeat url(http://tw.img.nextmedia.com/appledaily/images/core/iconset.png);
141
+ }
142
+ .nav_slide_left:hover{
143
+ background: 0px -194px no-repeat url(http://tw.img.nextmedia.com/appledaily/images/core/iconset.png);
144
+ cursor:pointer;
145
+ }
146
+ .nav_slide_right{
147
+ width:42px; height:40px; float:left;
148
+ background: -42px -152px no-repeat url(http://tw.img.nextmedia.com/appledaily/images/core/iconset.png);
149
+ }
150
+ .nav_slide_right:hover{
151
+ background: -42px -194px no-repeat url(http://tw.img.nextmedia.com/appledaily/images/core/iconset.png);
152
+ cursor:pointer;
153
+ }
154
+
155
+ h2.shrst {
156
+ left: 244px;
157
+ }
158
+ div.shrs {
159
+ left: 294px;
160
+ width: 176px;
161
+ margin-right: -10px;
162
+ }
163
+
164
+ #playerVideo {
165
+ position: relative;
166
+ }
167
+ </style>
168
+ <div class="thoracis fillup clearmen">
169
+ <div class="nav_slide_left"> </div>
170
+ <nav class="cate_menu">
171
+ <ul>
172
+ <li class="new"><a href="/realtimenews/article/new/" title="最新">最新</a></li>
173
+ <li class="hot"><a href="/realtimenews/article/hot/" title="熱門">熱門</a></li>
174
+ <li class="enter"><a href="/realtimenews/article/entertainment/" title="娛樂">娛樂</a></li>
175
+ <li class="soci"><a href="/realtimenews/article/local/" title="社會">社會</a></li>
176
+ <li class="inter"><a href="/realtimenews/article/international/" title="國際">國際</a></li>
177
+ <li class="life"><a href="/realtimenews/article/life/" title="生活">生活</a></li>
178
+ <li class="hotdeals"><a href="/realtimenews/article/hotdeals/" title="消費">消費</a></li>
179
+ <li class="polit"><a href="/realtimenews/article/politics/" title="政治">政治</a></li>
180
+ <li class="sport"><a href="/realtimenews/article/sports/" title="體育">體育</a></li>
181
+ <li class="business"><a href="/realtimenews/article/finance/" title="財經">財經</a></li>
182
+ <li class="all"><a href="/realtimenews/" title="最新">總覽</a></li>
183
+ </ul>
184
+ </nav>
185
+ <div class="nav_slide_right"> </div>
186
+ </div>
187
+ <script language="javascript">
188
+ $('.nav_slide_left').click(function(){
189
+ /**/$('.cate_menu').stop().animate({
190
+ scrollLeft: '-=64'
191
+ },300);
192
+ });
193
+ $('.nav_slide_right').click(function(){
194
+ /**/$('.cate_menu').stop().animate({
195
+ scrollLeft: '+=64'
196
+ },300);
197
+ });
198
+ </script>
199
+ <div class="abdominis lvl">
200
+ <div class="collum">
201
+ <section id="toolbar" class="tlb fillup">
202
+ <h2>字級:</h2>
203
+ <div class="fntss">
204
+ <a id="smaller" href="javascript:doZoom(16)" mce_href="javascript:doZoom(16)" title="最小字型" class="smaller overcooked">最小字型</a>
205
+ <a id="middle" href="javascript:doZoom(18)" mce_href="javascript:doZoom(18)" title="預設" class="middle overcooked">預設</a>
206
+ <a id="bigger" href="javascript:doZoom(20)" mce_href="javascript:doZoom(20)" title="最大字型" class="bigger overcooked">最大字型</a>
207
+ </div>
208
+ <h2 class="shrst">分享:</h2>
209
+ <div class="shrs">
210
+ <a href="javascript:desc='';via='';if(document.referrer)via=document.referrer;if(typeof(_ref)!='undefined')via=_ref;if(window.getSelection)desc=window.getSelection();if(document.getSelection)desc=document.getSelection();if(document.selection)desc=document.selection.createRange().text;void(open('http://www.facebook.com/share.php?u='+encodeURIComponent('http://www.appledaily.com.tw/realtimenews/article/new/20130629/217673/')));" title="Facebook" class="facebook overcooked">分享到 Facebook</a>
211
+ <a href="https://plus.google.com/share?url=http://www.appledaily.com.tw/realtimenews/article/new/20130629/217673/" onclick="javascript:window.open(this.href,'', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=600,width=600');return false;"><img src="http://tw.img.nextmedia.com/appledaily/images/mobile/gplus.png"></a>
212
+ <a href="javascript:void(window.open('http://www.plurk.com/?qualifier=shares&amp;status='.concat(encodeURIComponent('http://www.appledaily.com.tw/realtimenews/article/new/20130629/217673/')).concat(' ').concat('(').concat(encodeURIComponent(document.title)).concat(')')));" title="Plurk" class="plurk overcooked">分享到 Plurk</a>
213
+ <a href="javascript:void(window.open('http://twitter.com/home/?status='.concat(encodeURIComponent(document.title)).concat(' ').concat(encodeURIComponent('http://www.appledaily.com.tw/realtimenews/article/new/20130629/217673/'))));" title="Twitter" class="twitter overcooked">分享到 Twitter</a>
214
+ </div>
215
+ </section>
216
+ <article class="mpatc slvl clearmen">
217
+
218
+ <header><hgroup><h1 id="h1">邱文達內定衛福部長 政次曾中明戴桂英呼聲高</h1></hgroup></header>
219
+ <div class="gggs">
220
+ <time datetime="2013/06/29/" class="">2013年06月29日19:35</time>
221
+ <iframe src="http://www.facebook.com/plugins/like.php?href=http://www.appledaily.com.tw/realtimenews/article/new/20130629/217673/&amp;layout=button_count&amp;show_faces=true&amp;width=90&amp;action=like&amp;font&amp;colorscheme=light&amp;height=20" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:90px; height:20px;" allowTransparency="true" class="fbii"></iframe>
222
+ <div class="g-plusone" data-size="medium"></div>
223
+ </div>
224
+ <div class="articulum">
225
+ <p id="summary" style="word-wrap: break-word;">【王家俊/台北報導】配合行政院組織改造,內政部社會司、兒童局、家庭暴力及性侵害防治委員會7月下旬併入衛生福利部,官員透露,衛福部長內定由現任衛生署長邱文達轉任;兩位政務次長人選,社政專長的內政部常次曾中明幾可確定出線,另一位以女性健保專長的現任副署長戴桂英呼聲最高、醫界出身的副署長林奏延也有可能。內政部兒童局上午舉辦歡送茶會,內政部長李鴻源以嫁女兒的心情表示,會善盡娘家責任,把跨部會整合做好。兒童局近14年來歷任4位局長,包括劉邦富、黃碧霞、簡慧娟與現任局長張秀鴛,陸續推動兒少醫療補助、父母未就業家庭育兒津貼等多項政策。<br /><br />【更多精彩新聞,都在《<a href="https://www.facebook.com/AppleiTaiwan?fref=ts">蘋果余艾苔</a>》粉絲團】 </p>
226
+ <img src="http://twimg.edgesuite.net/images/ReNews/20130629/420_7233271c00b00bd6c85d44d3d56d921f.jpg" /><div class="textbox"><p id="caption0">首任衛褔部長人選,現任衛生署長邱文逹呼聲高。資料照片</p></div> <a href="https://plus.google.com/+蘋果日報" target="_blank" style="font-size:20px">《蘋果》G+搬家囉!快點+1下</a>
227
+ </div>
228
+ <div class="urcc">
229
+ <a title="點閱" target="_self" class="function_icon clicked">人氣(453)</a></li>
230
+ <a href="javascript:void(0)" title="轉寄" class="function_icon forward" onClick="window.open('/realtimenews/forward/art_id/217673/IssueID/20130629/secid/101','Forward','toolbar=no,width=470,height=320,directories=no,status=no,scrollbars=no,resize=no,menubar=no')">轉寄&nbsp;(0)</a>
231
+ <a href="javascript:void(0)" title="引用" class="function_icon quote" onClick="window.open('/realtimenews/quote/art_id/217673/IssueID/20130629/secid/101','Forward','toolbar=no,width=650,height=450,directories=no,status=no,scrollbars=no,resize=no,menubar=no')">引用&nbsp;(2)</a>
232
+ </div>
233
+ </article>
234
+ <section id="articlelast"><script type='text/javascript'>googletag.cmd.push(function() {googletag.display('articlelast');})</script></section>
235
+ <div class="artiswer fillup slvl">
236
+ <a href="/realtimenews/article/politics/20130629/217666/陽岱鋼3安猛打 火腿勝率回5成/1" class="swnx">陽岱鋼3安猛打 火腿勝率回5成</a>
237
+ </div>
238
+ </div>
239
+ <aside id="realtimelist" class="rtlstisd"></aside>
240
+ <hr class="clearman" />
241
+ </div>
242
+ <div class="clearmen">
243
+ <!-- FB Comments -->
244
+ <div id="fb-root"></div>
245
+ <div class="fb-comments" data-href="http://www.appledaily.com.tw/realtimenews/article/new/20130629/217673/" data-num-posts="3" data-width="640"></div>
246
+ <!-- FB Comments -->
247
+ <section class="jac slvl">
248
+ <header><h1>加入蘋果社群&nbsp;</h1></header>
249
+ <article><div class="jacfbb">
250
+ <div>
251
+ <a href="http://www.facebook.com/appledaily.tw" target="_blank">Facebook</a>
252
+ <iframe src="http://www.facebook.com/plugins/like.php?app_id=133697773378738&amp;href=http%3A%2F%2Fwww.facebook.com%2Fappledaily.tw&amp;send=false&amp;layout=button_count&amp;width=91&amp;show_faces=true&amp;action=like&amp;colorscheme=light&amp;font&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:91px; height:21px;" allowTransparency="true"></iframe><p>蘋果粉絲團 24小時陪你看新聞!</p>
253
+ </div></div>
254
+ <a href="http://www.plurk.com/TW_nextmedia" class="adplk" target="_blank"><span>加入蘋果</span></a>
255
+ <a href="https://plus.google.com/+蘋果日報" class="adgpls" target="_blank"><span>加入蘋果</span></a>
256
+ </article>
257
+ </section>
258
+ <section class="asob lvl">
259
+ <header><h1>推薦閱讀&nbsp;</h1></header>
260
+ <article>
261
+ <ul>
262
+ <li><a href="/realtimenews/article/politics/20130629/217501/國三生拚基測照寫科幻小說 詩作也得獎/1" class="">國三生拚基測照寫科幻小說 詩作也得獎</a></li>
263
+ <li><a href="/realtimenews/article/politics/20130629/217619/美人腿公主月曆選拔 9屆佳麗秀腿比美/1" class="">美人腿公主月曆選拔 9屆佳麗秀腿比美</a></li>
264
+ <li><a href="/realtimenews/article/politics/20130628/216991/【短片】搭客運免費赴宜蘭 6百人排隊搶票火氣大/1" class="">【短片】搭客運免費赴宜蘭 6百人排隊搶票火氣大</a></li>
265
+ <li><a href="/realtimenews/article/politics/20130628/217334/人狗箱屍案凶嫌晚間移送抵南投地檢署 不發一語/1" class="">人狗箱屍案凶嫌晚間移送抵南投地檢署 不發一語</a></li>
266
+ <li><a href="/realtimenews/article/politics/20130628/217156/擲筊棄屍枕邊人 男子被判六月徒刑/1" class="">擲筊棄屍枕邊人 男子被判六月徒刑</a></li>
267
+ <li><a href="/realtimenews/article/politics/20130627/216895/【短片】林淑芬批「假國教」 吳育仁嗆:不要咬人就好了/1" class="">【短片】林淑芬批「假國教」 吳育仁嗆:不要咬人就好了</a></li>
268
+ </ul>
269
+ </article>
270
+ </section>
271
+ </div>
272
+ </article>
273
+ <aside id="sitesidecontent" class="manu lvl">
274
+ <div id="rectangleAD1" class="ads rtb rtf"><script type='text/javascript'>googletag.cmd.push(function() {googletag.display('rectangleAD1');})</script></div>
275
+ <div id="rectangleAD2" class="ads rtb"><script type='text/javascript'>googletag.cmd.push(function() {googletag.display('rectangleAD2');})</script></div>
276
+ <section id="section-hot-sidebox" class="shsb slvl clearmen shsbinternational"><header><h1>國際最&nbsp;Hot</h1><span>人氣</span></header><article><ul><li><h2><a href="/appledaily/article/international/20130629/35115852/驚悚離家婦遭夫當街斬首">驚悚 離家婦 遭夫當街斬首</a></h2><span>10302</span></li><li><h2><a href="/appledaily/article/international/20130629/35115857/貪千萬淫官爽12秒囚13年">貪千萬淫官 爽12秒囚13...</a></h2><span>9797</span></li><li><h2><a href="/appledaily/article/international/20130629/35115817/千萬黑戶有望成美公民">千萬黑戶 有望成美公民</a></h2><span>7149</span></li><li><h2><a href="/appledaily/article/international/20130629/35115872/Kitty露臀">Kitty露臀</a></h2><span>4535</span></li><li><h2><a href="/appledaily/article/international/20130629/35115848/「先做朋友後做生意」朴槿惠秀流利中文">「先做朋友後做生意」朴槿惠...</a></h2><span>3594</span></li></ul></article></section><section id="facebookbox" class="fbbx slvl clearmen">
277
+ <header>
278
+ <h1>Facebook&nbsp;</h1>
279
+ <script>
280
+ $(function(){
281
+ displayFBlike(1);
282
+ });
283
+ </script>
284
+ <a id="fblikebtn" href="javascript:displayFBlike(1);" class="on">蘋果粉絲團</a>
285
+ <a href="javascript:displayFBlike(2);" id="fbactivitybtn" class="last">好友分享</a>
286
+ </header>
287
+ <article>
288
+ <div id="fb-root"></div>
289
+ <script language="javascript">
290
+ (function(d, s, id) {
291
+ var js, fjs = d.getElementsByTagName(s)[0];
292
+ if (d.getElementById(id)) return;
293
+ js = d.createElement(s); js.id = id;
294
+ js.src = "//connect.facebook.net/zh_TW/all.js#xfbml=1";
295
+ fjs.parentNode.insertBefore(js, fjs);
296
+ }(document, 'script', 'facebook-jssdk'));
297
+ </script>
298
+ <div id="changeFBlike">
299
+ <div class="fb-like-box" data-href="http://www.facebook.com/appledaily.tw" data-width="300" data-height="370" data-show-faces="false" data-stream="true" data-show-border="true" data-header="false"></div>
300
+ </div>
301
+ </article>
302
+ </section> </aside>
303
+ </div>
304
+ <link rel="stylesheet" href="http://tw.img.nextmedia.com/appledaily/images/css/dateinput_skin.css" />
305
+ <nav id="sitenav" class="fillup">
306
+ <div class="sqzer fillup">
307
+ <ul>
308
+ <li class="nbtn"></li>
309
+ <li class="nbtn tdns"><a href="#" class="pushbtn">今日蘋果</a><a id="menuSwitch" class="ddme overcooked pushbtn">展開選單</a>
310
+ <ul class="submenu" id="subSection">
311
+ <li><a href="/appledaily/todayapple" title="今日總覽" class="nan">今日總覽</a></li>
312
+ <li><a href="/appledaily/article/headline" title="頭條要聞" class="ntn">頭條要聞</a></li>
313
+ <li><a href="/appledaily/article/entertainment" title="娛樂新聞" class="nen">娛樂新聞</a></li>
314
+ <li><a href="/appledaily/article/international" title="國際新聞" class="nin">國際新聞</a></li>
315
+ <li><a href="/appledaily/article/sports" title="體育新聞" class="nsn">體育新聞</a></li>
316
+ <li><a href="/appledaily/article/supplement" title="蘋果副刊" class="nbn">蘋果副刊</a></li>
317
+ <li><a href="/appledaily/article/finance" title="財經新聞" class="nfn">財經新聞</a></li>
318
+ <li><a href="/appledaily/article/property" title="房市地產" class="nrn">房市地產</a></li>
319
+ <li><a href="/appledaily/article/forum" title="論壇與專欄" class="nmn">論壇與專欄</a></li>
320
+ </ul>
321
+ </li>
322
+ <li class="nbtn"><a href="/animation">動新聞</a></li>
323
+ <style>#ent_btn {background:top no-repeat url(http://twimg.edgesuite.net/ent/images/enter_online_none.png); width:100px; height:16px;}#ent_btn:hover {background:top no-repeat url(http://twimg.edgesuite.net/ent/images/enter_online_none.png) #0076a4;}</style><li class="nbtn"><a href="http://ent.appledaily.com.tw/online" id="ent_btn" target="_blank"></a></li> <li class="nbtn tdns"><a href="#" class="pushbtn2">娛樂星聞</a><a id="menuSwitch" class="ddme overcooked pushbtn2">展開選單</a>
324
+ <ul class="submenu" id="subSection2" style="width:525px;">
325
+ <li><a href="/enews/headline" class="nen">娛樂要聞</a></li>
326
+ <li><a href="/enews/international" class="nen">國際娛樂</a></li>
327
+ <li><a href="/enews/fashion" class="nen">名人時尚</a></li>
328
+ <li><a href="/enews/animation" class="nen">娛樂動新聞</a></li>
329
+ <li><a href="/enews/realtime" class="nen">即時娛樂</a></li>
330
+ </ul>
331
+ </li>
332
+ <li class="nbtn"><a href="/realtimenews">即時新聞</a></li>
333
+ <li class="nbtn"><input name="mydate" type="date" class="DailyDate" id="DailyDate"></li>
334
+ <li class="nbtn" ><a href="/info/shopping" class="pushbtn3">購物</a>
335
+ <li class="nbtn"><a href="/house.htm" target="_blank">好房網</a></li>
336
+ <li class="nbtn lr"><a href="/rss">RSS</a></li>
337
+ <li class="search">
338
+ <form name="searchform" id="searchform" action="/appledaily/search" method="POST">
339
+ <input type="hidden" name="searchType" value="text">
340
+ <input type="hidden" name="searchMode" value="Sim">
341
+ <input type="text" name="querystrS" id="search" class="sbox" />
342
+ <input type="submit" value="搜尋" class="sbtn" />
343
+ </form>
344
+ </li>
345
+ </ul>
346
+ </div>
347
+ </nav>
348
+ <div class="abkct clearmen"><a onClick="javascript:scroll(0,0)" class="abktp">回到最上面</a></div>
349
+ <section id="extras" class="fexbr">
350
+ <div class="sqzer fillup">
351
+ <a href="/index/dailyquote/" title="每日一句" class="dyw"><span data-tooltip="每天一句好話"></span>每日一句</a>
352
+ <a href="/index/lottery" title="樂透發票" class="lnr"><span data-tooltip="看看你手氣"></span>樂透發票</a>
353
+ <a href="#" title="線上美語" class="oneg" onclick="JavaScript:window.open('/index/englishlearning/','','width=650,height=495')"><span data-tooltip="學習英文"></span>線上美語</a>
354
+ <a href="/index/weather" title="天氣" class="wkw"><span data-tooltip="今天一周天氣預報"></span>天氣</a>
355
+ <a href="/index/complain" title="爆料投訴" class="rpter"><span data-tooltip="爆料給蘋果"></span>爆料投訴</a>
356
+ <a href="/index/prize" title="中獎名單" class="itul"><span data-tooltip="蘋果送大獎!">中獎名單</span></a>
357
+ <a href="/index/ticket" title="贈獎活動" class="pguss"><span data-tooltip="贈獎活動"></span>贈獎活動</a>
358
+ <a href="/index/mobileguide" title="動版" class="wmvs"><span data-tooltip="行動版">行動版</span></a>
359
+ </div>
360
+ </section>
361
+
362
+ <footer id="corpfoot">
363
+ <div class="sqzer">
364
+ <figure><a href="http://tw.nextmedia.com"><img src="http://twimg.edgesuite.net/appledaily/images/core/fnxlogo.png" /></a></figure>
365
+ <section id="corpcompanies" class="clearmen">
366
+ <a href="http://www.appledaily.com.tw" class="first" target="_blank"><img src="http://twimg.edgesuite.net/appledaily/images/core/ft_AppleDaily.png" alt="蘋果日報 AppleDaily" width="68" height="30" /></a>
367
+ <a href="http://www.appledaily.com.tw/animation" target="_blank"><img src="http://twimg.edgesuite.net/appledaily/images/core/ft_AnimatedNews.png" alt="動新聞" width="63" height="30" /></a>
368
+ <a href="http://sharpdaily.tw" target="_blank"><img src="http://twimg.edgesuite.net/appledaily/images/core/ft_SharpDaily.png" alt="爽報" width="32" height="30" /></a>
369
+ <a href="http://tw.next.nextmedia.com" target="_blank"><img src="http://twimg.edgesuite.net/appledaily/images/core/ft_NextMag.png" alt="壹周刊" width="23" height="30" /></a>
370
+ <a href="http://www.nma.tv/" target="_blank"><img src="http://twimg.edgesuite.net/appledaily/images/core/ft_NMAtv.png" alt="NMA" width="46" height="30" /></a>
371
+ <a href="http://www.appledaily.com.tw/charity" target="_blank"><img src="http://twimg.edgesuite.net/appledaily/images/core/ft_Charity.png" alt="蘋果基金會" /></a>
372
+ <a href="http://video.nxtomo.tw" class="last" target="_blank"><img src="http://twimg.edgesuite.net/appledaily/images/core/ft_nxtomo.png" alt="nxTomo" /></a>
373
+ </section>
374
+ <section id="corpinfo" class="fillip">
375
+ <a href="/index/aboutus">了解蘋果日報</a>
376
+ <a href="/index/contactus">聯絡我們</a>
377
+ <a href="/index/ad" target="_blank">廣告刊登</a>
378
+ <a href="/index/faq">常見問題</a>
379
+ <a href="/index/sitemap">網站導覽</a>
380
+ <a href="/index/termofuse">使用條款</a>
381
+ <a href="/index/authorization">授權申請程序</a>
382
+ <a href="/index/privacy">隱私權說明</a>
383
+ <a href="/index/disclaimer">免責與分級</a>
384
+ <a href="/index/community">蘋果社群</a>
385
+ <a href="http://www.facebook.com/nextmediastudent" target="_blank">校園培果計畫</a>
386
+ <a href="http://www.1111.com.tw/job-bank/company-description.asp?nNo=2785257" target="_blank" class="last">蘋果徵才</a>
387
+ </section>
388
+ <p id="copyright">© 2013 www.appledaily.com.tw Limited. All rights reserved. 台灣蘋果日報 版權所有 不得轉載</p>
389
+ </div>
390
+ </footer>
391
+
392
+ <script>
393
+ $(".pushbtn").click(function () {
394
+ if($('#subSection').css('display')=='none'){
395
+ $('#subSection').css('display','block');
396
+ $('#subSection2').css('display','none');
397
+ $('#subSection3').css('display','none');
398
+ }
399
+ else{
400
+ $('#subSection').css('display','none');
401
+ }
402
+ });
403
+ $(".pushbtn2").click(function () {
404
+ if($('#subSection2').css('display')=='none'){
405
+ $('#subSection2').css('display','block');
406
+ $('#subSection').css('display','none');
407
+ $('#subSection3').css('display','none');
408
+ }
409
+ else{
410
+ $('#subSection2').css('display','none');
411
+ }
412
+ });
413
+ $(".pushbtn3").click(function () {
414
+ if($('#subSection3').css('display')=='none'){
415
+ $('#subSection3').css('display','block');
416
+ $('#subSection').css('display','none');
417
+ $('#subSection2').css('display','none');
418
+ }
419
+ else{
420
+ $('#subSection3').css('display','none');
421
+ }
422
+ });
423
+ $(function(){
424
+ $.tools.dateinput.localize("tw", {
425
+ months: '一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月',
426
+ shortMonths: '一,二,三,四,五,六,七,八,九,十,十一,十二',
427
+ days: '日,一,二,三,四,五,六',
428
+ shortDays: '日,一,二,三,四,五,六'
429
+ });
430
+
431
+ $("#DailyDate").dateinput({lang: 'tw',selectors: true,format: 'yyyymmdd',trigger: true ,min:'2003-05-02',max:'2013-06-29',offset: [0,-50],speed: 'fast'});
432
+ $("#DailyDate").change(function() {location.href="/appledaily/archive/"+$("#DailyDate").val();});
433
+ $(".nbtn a.caltrigger").append("昔日新聞");
434
+ $(".mmvnv a.caltrigger").append("昔日動新聞");
435
+ });
436
+ </script>
437
+
438
+ <!-- Google Analytics -->
439
+ <script type="text/javascript">
440
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
441
+ document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
442
+ </script>
443
+
444
+ <script type="text/javascript">
445
+ try{
446
+ var _gaq = _gaq || [];
447
+ _gaq.push(['_setAccount', 'UA-2067247-40']);
448
+ _gaq.push(['_trackPageview']);
449
+ } catch(err) {}
450
+ </script>
451
+
452
+
453
+ </div>
454
+ </div>
455
+ <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
456
+ <script>
457
+ (function(d, s, id) {
458
+ var js, fjs = d.getElementsByTagName(s)[0];
459
+ if (d.getElementById(id)) return;
460
+ js = d.createElement(s); js.id = id;
461
+ js.src = "http://connect.facebook.net/zh_TW/all.js#xfbml=1";
462
+ fjs.parentNode.insertBefore(js, fjs);
463
+ }(document, 'script', 'facebook-jssdk'));
464
+ </script>
465
+ <script type="text/javascript">
466
+ $(function(){
467
+ doZoom(18) });
468
+ function changePage(SeoSec,IssueID,art_id,page){
469
+ $.ajax({
470
+ url: '/realtimenews/ajaxarticle/'+SeoSec+'/'+IssueID+'/'+art_id+'/'+page+'/'+Math.random(),
471
+ dataType: 'html',
472
+ type:"GET",
473
+ error: function(xhr) {
474
+ },
475
+ success: function(response) {
476
+ $('#realtimelist').html(response);
477
+ }
478
+ });
479
+ }
480
+ changePage('politics',20130629,217673,1);
481
+ </script>
482
+
483
+ </body>
484
+ </html>