Skip to content

Instantly share code, notes, and snippets.

@ronnywang
Created February 1, 2021 09:00
Show Gist options
  • Save ronnywang/f06235e69bbee0539b7dde2f3d21edb7 to your computer and use it in GitHub Desktop.
Save ronnywang/f06235e69bbee0539b7dde2f3d21edb7 to your computer and use it in GitHub Desktop.
<?php
$fp = fopen('input.csv', 'r');
$column = fgetcsv($fp);
$output = fopen('php://output', 'w');
fputcsv($output, array(
'名稱', '版本', '議案代碼', '現行條文', '修正條文', '說明',
));
while ($row = fgetcsv($fp)) {
list($date, $name, $proposal, $status) = $row;
if (!$date) {
continue;
}
// 先用 /api/searchbill API 去抓取最有可能的議案
// (檢查議案名稱和提案人都符合,如果符合多筆的話,抓跟提案日期最近的)
$obj = json_decode(file_get_contents("https://openly.muyueh.com/api/searchbill?q=" . urlencode($name)));
$proposal = explode(' ; ', $proposal);
$proposal[0] = str_replace('黨團', '立法院黨團', $proposal[0]);
$billno = false;
$hitbill = array();
foreach ($obj->result->hits->hits as $hit) {
if (strpos($hit->_source->{'提案人'}, $proposal[0]) !== false) {
$d = abs($row[0] - substr($hit->_id, 0, 7));
$hitbill[$hit->_id] = $d;
}
}
asort($hitbill);
if (!$hitbill) {
print_r($row);
exit;
}
// 把搜尋到的議案代碼存入 $bills 中,開始處理
$billno = array_keys($hitbill)[0];
$showed_bills = new StdClass;
$bills = array();
$bills[] = $billno;
$showed_bills->{$billno} = true;
// 處理 $bills ,如果有讀到關連議案就塞進去 $bills 中
while ($bills) {
$billno = array_pop($bills);
// 用 /api/bill API 抓取單一議案詳情
$obj = json_decode(file_get_contents("https://openly.muyueh.com/api/bill/" . $billno));
// 處理關連議案
foreach ($obj->data->related as $related) {
if (!property_exists($showed_bills, $related[0])) {
$showed_bills->{$related[0]} = true;
$bills[] = $related[0];
}
}
// 如果沒有 content 表示程式沒抓到法律對照表
if (!property_exists($obj->data, 'content')) {
foreach ($law_content->content as $content) {
fputcsv($output, array(
$row[1],
$obj->proposed_by,
$billno,
'找不到條文內容',
'',
'',
));
}
continue;
}
// 輸出條文對照表
//'名稱', '版本', '議案代碼', '現行條文', '修正條文', '說明',
foreach ($obj->data->content as $law_content) {
if ($law_content->type == '修正條文' or $law_content->type == '審查會版本') {
if ($law_content->type == '審查會版本') {
$obj->proposed_by = '審查會版';
}
foreach ($law_content->content as $content) {
fputcsv($output, array(
$row[1],
$obj->proposed_by,
$billno,
$content[0],
$content[1],
$content[2],
));
}
} else if ($law_content->type == '增訂條文' or $law_content->type == '制定條文') {
foreach ($law_content->content as $content) {
fputcsv($output, array(
$row[1],
$obj->proposed_by,
$billno,
'',
$content[0],
$content[1],
));
}
} else {
print_r($law_content);
exit;
}
}
}
}
提案日期 提案名稱 主提案 審議進度
1091218 動物保護法第五條及第四十條條文修正草案 林奕華 ; 楊瓊瓔 委員會審竣
1091218 農會法第十二條、第十三條及第五十一條條文修正草案 林奕華 ; 楊瓊瓔 委員會審竣
1091218 漁會法第十五條、第十五條之一及第五十三條條文修正草案 林奕華 ; 楊瓊瓔 委員會審竣
1091211 船員法部分條文修正草案 林昶佐 委員會審竣
1091211 農會法第十二條及第十三條條文修正草案 蘇治芬 委員會審竣
1091211 漁會法第十五條及第十五條之一條文修正草案 蘇治芬 委員會審竣
1091211 商港法第七十二條條文修正草案 陳歐珀 ; 余天 ; 邱志偉 委員會審竣
1091211 商港法增訂第七十二條之一條文草案 陳歐珀 ; 余天 委員會審竣
1091211 船員法部分條文修正草案 時代力量黨團 ; 邱顯智 ; 王婉諭 ; 陳椒華 委員會審竣
1091204 森林法第五十條及第五十二條條文修正草案 賴瑞隆 委員會審竣
1091204 勞資爭議處理法增訂第四十七條之一條文草案 賴香伶 ; 張其祿 ; 王婉諭 委員會審竣
1091204 勞資爭議處理法第四十三條條文修正草案 劉建國 ; 莊競程 ; 楊曜 ; 黃秀芳 委員會審竣
1091204 工會法第十七條條文修正草案 劉建國 ; 莊競程 ; 楊曜 ; 陳秀寳 委員會審竣
1091204 警械使用條例部分條文修正草案 管碧玲 委員會審竣
1091204 加工出口區設置管理條例修正草案 賴瑞隆 委員會審竣
1091204 警械使用條例增訂第十條之一條文草案 黃世杰 ; 莊瑞雄 委員會審竣
1091204 文化藝術獎助條例增訂第十一條之一條文草案 張廖萬堅 ; 許智傑 ; 趙天麟 委員會審竣
1091204 消防法第九條條文修正草案 賴惠員 ; 莊瑞雄 ; 趙天麟 委員會審議中
1091204 文化藝術獎助條例刪除第三十二條條文草案 許智傑 委員會審竣
1091204 人民團體法部分條文修正草案 沈發惠 ; 林宜瑾 委員會審竣
1091204 文化藝術獎助條例增訂第七條之一及第三十條之一條文草案 張廖萬堅 委員會審竣
1091204 人民團體法第十條條文修正草案 鍾佳濱 ; 何志偉 委員會審竣
1091204 交通部民用航空局組織條例第六條條文修正草案 鄭運鵬 ; 蔡易餘 委員會審竣
1091204 交通部民用航空局飛航服務總臺組織條例第六條條文修正草案 鄭運鵬 ; 蔡易餘 委員會審竣
1091204 國營事業管理法第二十條及第二十條之一條文修正草案 陳亭妃 ; 陳歐珀 ; 余天 ; 莊瑞雄 ; 陳素月 委員會審竣
1091204 動物保護法第五條條文修正草案 蔣萬安 委員會審竣
1091204 原住民族健康法草案 高金素梅 委員會審議中
1091204 國營事業管理法第三條條文修正草案 楊瓊瓔 ; 翁重鈞 委員會審竣
1091204 加工出口區設置管理條例修正草案 謝衣鳯 委員會審竣
1091204 國營事業管理法第三十一條條文修正草案 孔文吉 ; 鄭天財 ; 陳瑩 委員會審竣
1091204 警械使用條例部分條文修正草案 台灣民眾黨黨團 ; 張其祿 ; 賴香伶 ; 高虹安 ; 邱臣遠 ; 蔡壁如 委員會審竣
1091204 保安處分執行法部分條文修正草案 台灣民眾黨黨團 ; 賴香伶 ; 張其祿 ; 高虹安 ; 邱臣遠 ; 蔡壁如 委員會審議中
1091204 動物保護法第五條條文修正草案 台灣民眾黨黨團 ; 高虹安 ; 邱臣遠 ; 蔡壁如 ; 賴香伶 ; 張其祿 委員會審竣
1091204 農會法第十二條及第十三條條文修正草案 台灣民眾黨黨團 ; 高虹安 ; 邱臣遠 ; 蔡壁如 ; 賴香伶 ; 張其祿 委員會審竣
1091204 漁會法第十五條及第十五條之一條文修正草案 台灣民眾黨黨團 ; 高虹安 ; 邱臣遠 ; 蔡壁如 ; 賴香伶 ; 張其祿 委員會審竣
1091204 精神衛生法修正草案 王婉諭 ; 邱顯智 委員會審議中
1091204 兒童及少年福利與權益保障法第二十三條及第四十八條之一條文修正草案 時代力量黨團 ; 王婉諭 ; 邱顯智 ; 陳椒華 委員會審竣
1091204 動物保護法第五條條文修正草案 時代力量黨團 ; 邱顯智 ; 王婉諭 ; 陳椒華 委員會審竣
1091204 農會法第十二條及第十三條條文修正草案 時代力量黨團 ; 邱顯智 ; 王婉諭 ; 陳椒華 委員會審竣
1091204 漁會法第十五條及第十五條之一條文修正草案 時代力量黨團 ; 邱顯智 ; 王婉諭 ; 陳椒華 委員會審竣
1091204 精神衛生法修正草案 蔣萬安 委員會審議中
1091204 兒童及少年福利與權益保障法增訂第二十二條之一條文草案 蔣萬安 委員會審議中
1091204 勞資爭議處理法第四十三條及第四十七條之一條文修正草案 蔣萬安 委員會審竣
1091127 警械使用條例部分條文修正草案 賴惠員 委員會審竣
1091023 噪音管制法第二十三條條文修正草案 林德福 ; 洪孟楷 委員會審議中
1091023 原住民族健康法草案 孔文吉 ; 鄭天財 委員會審議中
1091023 廢棄物清理法第四十六條、第五十二條及第五十三條條文修正草案 洪申翰 ; 賴惠員 ; 賴瑞隆 ; 何志偉 委員會審議中
1091023 軍人撫卹條例第十三條、第二十一條及第四十條條文修正草案 呂玉玲 ; 孔文吉 ; 林文瑞 委員會審議中
1091023 國營事業管理法第二條及第三條條文修正草案 林為洲 委員會審竣
1091023 中華民國刑法第八十七條條文修正草案 李貴敏 委員會審議中
1091023 保安處分執行法第四條條文修正草案 李貴敏 委員會審議中
1091023 反族群歧視法草案 孔文吉 ; 鄭天財 委員會審議中
1091006 軍人撫卹條例第十三條、第二十一條及第四十條條文修正草案 王定宇 ; 趙天麟 委員會審議中
1091006 警械使用條例第一條及第十一條條文修正草案 羅致政 委員會審竣
1091006 公立學校教職員退休資遣撫卹條例第八條條文修正草案 費鴻泰 ; 呂玉玲 委員會審議中
1091006 中華民國刑法第十九條條文修正草案 葉毓蘭 委員會審議中
1091006 反族群歧視法草案 鄭天財 ; 孔文吉 委員會審議中
1091006 勞工保險條例第三十條條文修正草案 廖婉汝 ; 溫玉霞 委員會審議中
1091006 國民年金法第二十八條條文修正草案 廖婉汝 委員會審議中
1091006 性別工作平等法第十五條條文修正草案 蔣萬安 ; 鄭正鈐 ; 洪孟楷 ; 魯明哲 委員會審議中
1091006 國民年金法第十五條及第五十條條文修正草案 蔣萬安 ; 鄭正鈐 ; 張育美 委員會審議中
1091006 兒童及少年福利與權益保障法增訂第七條之一條文草案 蔣萬安 ; 李德維 ; 呂玉玲 ; 張育美 委員會審竣
1091006 警械使用條例部分條文修正草案 蔣萬安 ; 葉毓蘭 ; 洪孟楷 委員會審竣
1091006 公路法第七十七條之四及第七十九條條文修正草案 時代力量黨團 ; 邱顯智 ; 王婉諭 ; 陳椒華 委員會審議中
1091006 團體協約法第十條條文修正草案 台灣民眾黨黨團 ; 賴香伶 ; 張其祿 ; 高虹安 ; 邱臣遠 ; 蔡壁如 委員會審議中
1090925 中華民國刑法第十九條條文修正草案 溫玉霞 委員會審議中
1090925 中華民國刑法第十九條條文修正草案 萬美玲 ; 洪孟楷 委員會審議中
1090925 殯葬管理條例第十二條條文修正草案 鄭天財 委員會審議中
1090925 原住民族基本法第二十八條條文修正草案 鄭天財 委員會審竣
1090925 兒童及少年福利與權益保障法增訂第二十三條之二條文草案 洪孟楷 ; 吳斯懷 ; 鄭正鈐 委員會審竣
1090925 公路法第六十五條條文修正草案 張廖萬堅 ; 何志偉 ; 邱泰源 委員會審竣
1090925 公立學校教職員退休資遣撫卹條例第八條條文修正草案 張廖萬堅 ; 伍麗華 ; 林宜瑾 委員會審議中
1090918 警察獎章條例修正草案 沈發惠 委員會審竣
1090918 中華民國刑法刪除第一百四十條及第一百四十一條條文草案 李貴敏 委員會審議中
1090918 國家海洋研究院組織法第五條條文修正草案 管碧玲 ; 林岱樺 ; 賴瑞隆 委員會審竣
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment