写得很长,可是很可惜,太复杂,反而没有。
# 获取插件类型数据 x = 0 # 谷歌产品这个类型单独获取,有问题,1,这个类别不总是排在第一个?2,怎么把空的hot_picks插进去? cat_google_regex = r"""(?mx) \[\"(ext/ #以["ext/开头的字符串,第一行作为一个个分组 [^\"\]]+?[Gg]oogle)\", #在同一个双引号内、方括号中有google这个词 \"([^\"]+?)\", #获取code_id 和 name """ category = CategoryItem() cat_google = re.search(cat_google_regex, all_content) category['name'] = cat_google.group(2) category['code_id'] = cat_google.group(1) x += 1 category['weight'] = x category['hot_picks'] = {"info": "null", "title": "null", "photo_url": "null"} yield category cat_line_regex = r"""(?mx) \[ #以["ext/开头,以infiniteWall结尾的字符串 \"(ext/[^\"]+?)\", #获取code_id \"([^\"]+?)\" #获取name [^\]]+?\]\n, #至第一行结束 \[ #第二行开始 [^,\]]*?, #匹配第一个逗号 \"([^\"]+?)\", #匹配第二个逗号,获取引号中的内容 [^,\]]*?, #匹配第三个逗号 [^,\]]*?, #匹配第四个逗号 [^,\]]*?, #匹配第五个逗号 [^,\]]*?, #匹配第六个逗号 [^,\]]*?, #匹配第七个逗号 \"([^\"]+?)\" #匹配第八个逗号,获取引号中的内容 \]\n, #第二行结束 \[\"infiniteWall #以此结尾作为区分标志 """