webmagic 爬虫爬取某些网址URL的Regex过滤不生效

最近使用Webmagic进行过滤url的时候:如下格式的

page.addTargetRequests(page.getHtml().links().regex("(https://github\\.com/[\\w\\-]+/[\\w\\-]+)").all());
        page.addTargetRequests(page.getHtml().links().regex("(https://github\\.com/[\\w\\-])").all());

总是无法正确过滤到url。

各种问题处理。

跟中Pattern,match,find()。都没找到问题所在。

2020年2月22日17:49:55今天大半天。处理。在偶然间,跟踪到匹配的时候。

发现了regex的表达式,在匹配的地方,竟然发生了变化。

https://github\\.com/[\\w\\-] 这种在Webmagic中生效

但在SpringCloud环境中不生效。

调整格式后发现:https:\\/\\/github\\.com\\/[\\w\\-]

结果Debug的时候竟然出现了:https:\\\\/\\\\/github\\\\.com\\\\/[\\\\w\\\\-]

到此问题找到了。

所以regex增则表达式,前端存储的时候,仍然按照正常的增则表达式格式来存储。

java会默认进行处理一次。

所以URL的正则表达式格式应该存储为:https:\/\/github\.com\/[\w\-]+
        

webmagic 爬虫爬取某些网址URL的Regex过滤不生效webmagic 爬虫爬取某些网址URL的Regex过滤不生效 klzsr 发布了20 篇原创文章 · 获赞 5 · 访问量 7399 私信 关注
上一篇:正则表达式


下一篇:00 09Java高级之正则表达式