首页 > 解决方案 > Python:如何标记每种类型的 URL 路径?

问题描述

我有一个网站 url 的数据框,我需要首先提取 url 域(例如 google.com)和 url 路径(例如 foo/foo2/foo3/sjj.html),然后对 url 的路径部分进行标记。问题是它们可以是以下任何一种形式:

1- https://www.politics.com/watch?v=4PykB_cU 
(desired output: [watch])

2- https://www.politics.com/video/2014/USA/hello_world_how_are_you
(desired output: [video, USA, hello, world, how, are, you])

3- https://www.politics.com/video/2014/USA/hello-world-how-are-you
(desired output: [video, USA, hello, world, how, are, you])

4- https://www.politics.com/video/2014/USA/helloworldhowareyou
(desired output: [video, USA, hello, world, how, are, you]

5- https://www.politics.com/video/2014/USA/HelloWorldHowAreYou
(desired output: [video, USA, Hello, World, How, Are, You]

6- https://www.politics.com/1VOuFvY
(desired output: [])

是否有任何函数或包可以自动解析和标记所有这些类型的 url 路径?

标签: python-3.xpandasnltk

解决方案


前三个可以用 string.split() 完成

第五,您可以使用正则表达式拆分大写字母或只是迭代。

第四个将需要更多的努力。我能想到的唯一方法是将整个英语词典作为要匹配的实体进行实体识别,即使这样,您也需要消除一些冲突匹配的歧义。


推荐阅读