-1

我正在运行一个 URL 分类器算法。我几乎没有与博客相关的 URL,我想知道输入的 URL 是用于任何博客文章还是博客的 URL。

示例 1 - 如果我们输入以下 URL

http://gizmodo.com/

它会告诉上面的 URL 是主页

示例 2 - 如果我们输入以下 URL

http://gizmodo.com/everyone-can-get-the-new-google-maps-right-now-805487210

它会告诉上面的 URL 是 blogpost。

无论如何我可以在Python中做到这一点吗?有没有我可能遗漏的算法?或者任何开源包或服务?

4

2 回答 2

1

解决方案可能是这样的,尽管它不使用任何库:

scraped_urls = [
    'http://gizmodo.com/everyone-can-get-the-new-google-maps-right-now-805487210',
    'http://gizmodo.com/no-one-can-get-new-ios-7-yet-8432234432',
    'http://gizmodo.com/world-war-z-on-google-play-for-free-2332343',
    'http://gizmodo.com/',
]

homepage = min(scraped_urls, key=len)
blogposts = [url for url in scraped_urls if url != homepage]

在此处查看演示:http: //ideone.com/z9CHO9

该代码假定您有一组(技术上是 a list,不是 a set,但两者都可以)从单个服务器抓取的 URL,并且主页 URL 是最短的(这应该是正确的,只要网站有一些一致的命名并且您可以从 URL 中提取结构)。

于 2013-07-16T23:18:54.007 回答
0

使用 urlparse 模块并检查 .path 属性

    import urlparse
    result = urlparse.urlsplit(myURL)
    print result.path
于 2013-07-16T22:31:40.100 回答