【问题标题】:measuring a depth of a website using python [closed]使用python测量网站的深度[关闭]
【发布时间】:2013-12-17 12:32:21
【问题描述】:

我正在尝试找到一种方法来使用 python 提取网站的深度。 子网站的深度等于用户访问子网站(例如 www.ualberta.ca/beartracks)所需的主网站(例如 www.ualberta.ca)的点击次数。因此,例如,如果从主域访问子网站需要额外点击一次,则子网站的深度将为 1。

无论如何我可以使用 python 来测量这个吗?谢谢!

【问题讨论】:

    标签: python html css web-scraping web-analytics


    【解决方案1】:

    (1) 你必须确保你的目标网站是静态的。例如,像亚马逊这样的网站,他们的网站由他们的数据库填充,他们的数据库以某种方式由客户驱动。亚马逊的数据库每时每刻都在变化第二。这样,你证明了包含“glove”的页面的深度是7,下一分钟,深度变成了3,因为“scarf”在第一页,“glove”在“人们也买了”这个”列表。很多因素都会改变您的目标网站。

    (2) 如果上述问题不是问题。您需要构建一些爬虫/蜘蛛来帮助您收集所有页面。(可能不是所有原始 HTML 的集合,但记录如下所示:)

    currentURL  [links]
    urlpage1 [urlpage2. urlpage3.. ]
    urlpage2 [urlpage1, urlpage3...]
    ... 
    

    这里有一些工具可以帮助您实现它。

    Scrapy (Python)

    Apache Nutch(基于 shell/Java)

    (3) 假设你已经收集了所有页面之间的映射关系。您只需要进一步计算您想要的页面和主页之间的“短路长度”。现在您需要一个工具来分析深度。这里的数学模型将类似于“社交网络分析”。还有一些图形数据库,例如

    "Neo4j"加号

    Gephi

    非常适合这类任务。最后,您将获得美丽而可观的结果。你也可以使用 R 中的一些包来做到这一点。

    这实际上是一个非常有趣的问题,它涉及到一系列不同的编程能力。祝您项目顺利,Stackoverflow 将帮助您完成。

    【讨论】:

      【解决方案2】:

      听起来您想编写一个蜘蛛从第一个 url 进行广度优先搜索,直到找到指向第二个 url 的链接。

      我建议你看一下 Scrapy 包;这样做很容易。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-09
        • 1970-01-01
        • 1970-01-01
        • 2010-11-23
        • 2017-05-28
        • 2020-06-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多