                 info.title =  title
                 
                 let dowloadLinkRule = InfoRuleOption.downloadLink
-                for linkResult in parse(string:mainContent, rule: dowloadLinkRule) ?? [] {
-                    info.downloafLink.append(linkResult.innerHTML)
+                let downloadLinkLiRule = InfoRuleOption.downloadLinkLi
+                let linkRules = [dowloadLinkRule, downloadLinkLiRule]
+                for rule in linkRules {
+                    for linkResult in parse(string:mainContent, rule: rule) ?? [] {
+                        info.downloafLink.append(linkResult.innerHTML)
+//                        print("doenload link: \(linkResult.innerHTML)")
+                    }
                 }
                 
                 let imageLinkRule = InfoRuleOption.imageLink

/// 内容信息正则规则选项
struct InfoRuleOption {
    /// 是否有码
    static let msk = ParserTagRule(tag: "", isTagPaser: false, attrubutes: [], inTagRegexString: "(【是否有码】)|(【有碼無碼】)|(【影片说明】){1}[：:]{0,1}", hasSuffix: false, innerRegex: "([^<：:])+")
    /// 影片时间
    static let time = ParserTagRule(tag: "", isTagPaser: false, attrubutes: [], inTagRegexString: "(【影片时间】){1}[：:]{0,1}", hasSuffix: false, innerRegex: "([^<：])+")
    /// 影片大小
    static let size = ParserTagRule(tag: "", isTagPaser: false, attrubutes: [], inTagRegexString: "(【影片大小】){1}[：:]{0,1}", hasSuffix: false, innerRegex: "([^<：:])+")
    /// 影片格式
    static let format = ParserTagRule(tag: "", isTagPaser: false, attrubutes: [], inTagRegexString: "(【影片格式】){1}[：:]{0,1}", hasSuffix: false, innerRegex: "([^<：:])+")
    /// 解压密码
    static let password = ParserTagRule(tag: "", isTagPaser: false, attrubutes: [], inTagRegexString: "(【解壓密碼】)|(【解压密码】){1}[：:]{0,1}", hasSuffix: false, innerRegex: "([^<：:])+")
    /// 下载链接
    static let downloadLink = ParserTagRule(tag: "a", isTagPaser: true, attrubutes: [], inTagRegexString: " \\w+=\"\\w+:\\/\\/[\\w+\\.]+[\\/\\-\\w\\.]+\" \\w+=\"\\w+\"", hasSuffix: false, innerRegex: "\\w+:\\/\\/[\\w+\\.]+[\\/\\-\\w\\.]+")
    /// 图片链接
    static let imageLink = ParserTagRule(tag: "img", isTagPaser: true, attrubutes: [ParserAttrubuteRule(key: "file"), ParserAttrubuteRule(key: "href"), ParserAttrubuteRule(key: "src")], inTagRegexString: "(( \\w+=\"[\\w+\\(,\\)\\.\\s\\-]+\")|( \\w+=\"[\\w+:/\\.\\)\\(:;\\s\\-]*?\")){6,} /", hasSuffix: false, innerRegex: nil)
    /// 主内容标签
    static let main = ParserTagRule(tag: "td", isTagPaser: true, attrubutes: [], inTagRegexString: " \\w+=\"t_f\" \\w+=\"postmessage_\\d+\"", hasSuffix: true, innerRegex: nil)
}

        badTasks.removeAll()
        count = 0
        contentDatas.removeAll()
        DispatchQueue.main.async {
            self.delegate?.bot(didStartBot: self)
        }
        fetchGroup(start: startPage, offset: pageOffset)
//        DispatchQueue.global().async {
//            self.serialFetch(start: self.startPage, offset: self.pageOffset)
//        }
//        fetchMainContent(title: "aaaaaa", link: "thread-8603226-1-201.html", page: 0, index: 0)
    }
    
    func stop() {
        
    }
    
    private func fetchGroup(start: UInt, offset: UInt) {
