最近使用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\-]+