|
@@ -16,6 +16,7 @@ import (
|
|
|
"mongodb"
|
|
|
"net"
|
|
|
"net/http"
|
|
|
+ "net/url"
|
|
|
qu "qfw/util"
|
|
|
"qfw/util/elastic"
|
|
|
"qfw/util/redis"
|
|
@@ -28,6 +29,7 @@ import (
|
|
|
)
|
|
|
|
|
|
var (
|
|
|
+ rpreUrl = regexp.MustCompile("^https[\\w\\W]{0,200}link=")
|
|
|
rpre = regexp.MustCompile("https://www.jianyu360.cn/article/content/")
|
|
|
rpre1 = regexp.MustCompile("https://www.jianyu360.cn/article/bdprivate/")
|
|
|
rpre2 = regexp.MustCompile("https://www.jianyu360.cn/article/mailprivate/")
|
|
@@ -656,11 +658,17 @@ func (jy *RepairRule) SearchSha() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+var hrefMt = regexp.MustCompile("(content|bdprivate|mailprivate|entservice|bdcontent|indexcontent)[\\w\\W]{0,200}\\.html")
|
|
|
+
|
|
|
func (jy *RepairRule) SearchJyurl() {
|
|
|
defer qu.Catch()
|
|
|
if jy.Method() == "POST" {
|
|
|
|
|
|
jyurl := jy.GetString("jyurl")
|
|
|
+ jyurl, _ = url.QueryUnescape(jyurl)
|
|
|
+ if strings.Contains(jyurl, "page_workDesktop/work-bench") {
|
|
|
+ jyurl = rpreUrl.ReplaceAllString(jyurl, "")
|
|
|
+ }
|
|
|
new_id := ""
|
|
|
if strings.Contains(jyurl, "content") {
|
|
|
jyurl1 := rpre.ReplaceAllString(jyurl, "")
|
|
@@ -1200,6 +1208,10 @@ func (jy *RepairRule) UpFile() {
|
|
|
if len(identity) == 24 {
|
|
|
id = identity
|
|
|
} else {
|
|
|
+ identity, _ = url.QueryUnescape(identity)
|
|
|
+ if strings.Contains(identity, "page_workDesktop/work-bench") {
|
|
|
+ identity = rpreUrl.ReplaceAllString(identity, "")
|
|
|
+ }
|
|
|
identity = rpre.ReplaceAllString(identity, "")
|
|
|
identity = rsuf.ReplaceAllString(identity, "")
|
|
|
id = qu.CommonDecodeArticle("content", identity)[0]
|