在验证要添加到队列的URL时,我似乎无法克服的一个问题是解析查询字符串。具有不同查询字符串的两个不同URL(实际路径和查询字符串):
答:https://foo.com/page.php?pid=1656&action=follow&dcb60b7d1c313991fcc024e36bf63bc6=1
B:https://foo.com/page.php?pid=1656&action=follow&5c047b4476d6db958223b009e8aa8b24=1
这两个网址都是同一个页面,但由于最后一个查询字符串参数的URL不同,我的代码会将它们解释为唯一。之前的所有查询字符串参数都是我到达页面所必需的,但最后一个不是。最终结果是一个非常低效的脚本,获取和爬行可能数百个不同的URL,所有这些URL都通向相同的位置。我需要的是一种有效的方法来识别和消除冗长的查询字符串参数并保留其他参数。 Urllib.parse实际上没有任何明显的解决方案,我可以使用该库轻松解析该查询字符串,但没有好办法验证查询字符串是否必要。