2023-11-13 16:52:46 +09:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"strings"
|
2023-11-15 00:38:04 +09:00
|
|
|
"net/url"
|
|
|
|
"fmt"
|
2023-11-13 16:52:46 +09:00
|
|
|
)
|
|
|
|
|
2023-11-15 00:38:04 +09:00
|
|
|
func getid(u string) (string, error) {
|
|
|
|
parse, err := url.Parse(u)
|
|
|
|
if err != nil {
|
|
|
|
return "", err
|
|
|
|
}
|
|
|
|
|
|
|
|
params, err := url.ParseQuery(parse.RawQuery)
|
|
|
|
if err != nil {
|
|
|
|
return "", err
|
|
|
|
}
|
|
|
|
|
|
|
|
id, ok := params["id"]
|
|
|
|
if !ok || len(id) == 0 {
|
|
|
|
return "", fmt.Errorf("IDを見つけられませんでした。")
|
|
|
|
}
|
|
|
|
|
|
|
|
return id[0], nil
|
|
|
|
}
|
|
|
|
|
2023-11-13 16:52:46 +09:00
|
|
|
/* 記事かの確認 */
|
2023-11-15 00:38:04 +09:00
|
|
|
func isarticle(u string) bool {
|
|
|
|
chk := strings.Split(u, "=")
|
2023-11-13 16:52:46 +09:00
|
|
|
return len(chk) > 2 &&
|
|
|
|
(chk[0] == "/view_news.pl?id" || chk[0] == "/view_news.pl?from" || chk[0] == "/view_news.pl?media_id" || chk[0] == "/view_news.pl?stkt")
|
|
|
|
}
|
|
|
|
|
|
|
|
/* 部分圏かの確認 */
|
2023-11-15 00:38:04 +09:00
|
|
|
func issubcat(u string) bool {
|
|
|
|
chk := strings.Split(u, "=")
|
2023-11-13 16:52:46 +09:00
|
|
|
return len(chk) > 1 &&
|
|
|
|
(chk[0] == "/list_news_category.pl?id" || chk[0] == "/list_news_category.pl?page" || chk[0] == "/list_news_category.pl?sort" || chk[0] == "/list_news_category.pl?type" || chk[0] == "/list_news_category.pl?sub_category_id") &&
|
2023-11-15 00:38:04 +09:00
|
|
|
strings.Contains(u, "type=bn")
|
2023-11-13 16:52:46 +09:00
|
|
|
}
|
|
|
|
|
|
|
|
/* 部分かの確認 */
|
2023-11-15 00:38:04 +09:00
|
|
|
func iscategory(u string) bool {
|
|
|
|
chk := strings.Split(u, "=")
|
2023-11-13 16:52:46 +09:00
|
|
|
return len(chk) > 1 &&
|
|
|
|
(chk[0] == "/list_news_category.pl?id" || chk[0] == "/list_news_category.pl?sub_category_id" || chk[0] == "/list_news_category?from") &&
|
2023-11-15 00:38:04 +09:00
|
|
|
!strings.Contains(u, "type=bn")
|
2023-11-13 16:52:46 +09:00
|
|
|
}
|
|
|
|
|
|
|
|
/* 出版社かの確認 */
|
2023-11-15 00:38:04 +09:00
|
|
|
func ispublish(u string) bool {
|
|
|
|
chk := strings.Split(u, "=")
|
2023-11-13 16:52:46 +09:00
|
|
|
return len(chk) > 1 && (chk[0] == "/list_news_media.pl?id" || chk[0] == "/list_news_media.pl?page")
|
|
|
|
}
|
2023-11-15 00:38:04 +09:00
|
|
|
|
|
|
|
/* つぶやきかの確認 */
|
|
|
|
func istubayaki(u string) bool {
|
|
|
|
chk := strings.Split(u, "=")
|
|
|
|
return len(chk) > 1 &&
|
|
|
|
(chk[0] == "/list_quote.pl?id" || chk[0] == "/list_quote.pl?type" || chk[0] == "/list_quote.pl?sort" || chk[0] == "/list_quote.pl?news_id") &&
|
|
|
|
strings.Contains(u, "type=voice") &&
|
|
|
|
(strings.Contains(u, "sort=post_time") || strings.Contains(u, "sort=feedback_count"))
|
|
|
|
}
|