我需要将URL放入数据库。我不想两次存储同一页面 我需要删除网址上的所有漏洞。
# if I have
url_1 = "http://scientificamerican.com/royal-baby/?utm_campaign=promo"
# and
url_2 = "http://scientificamerican.com/royal-baby/?utm_source=email"
# then they should map to:
url_canonical = "http://scientificamerican.com/royal-baby/"
为了获得单个规范URL而不管它是什么,我尝试剥离查询字符串。问题是仍有CMS使用查询字符串。
e.g。
url_1 = "https://www.scientificamerican.com/article.cfm?id=obama-budget"
# strip the query string and it becomes
url_1 = "https://www.scientificamerican.com/article.cfm"
# which is obviously the same for all articles :(
这显然是许多人不得不解决的问题,尤其是搜索引擎。如何减少URL,使剩下的只是页面的数据?
答案 0 :(得分:1)
你不能。无法知道区分URL所需的查询参数。显然有许多参数你可以故意删除(即utm_campaign等),但不是全部。
您最好的选择是加载页面的HTML并查找规范链接元素。如果存在,那么您已获得规范网址。