Python 对同一网页的不同版本进行分类

Python 对同一网页的不同版本进行分类,python,html,ads,adsense,Python,Html,Ads,Adsense,有一个网页在加载时使用了表单/控件/谷歌广告的随机位置。但是,从我的测试来看,该设置是关闭的。至少有三种可能的变化,其中两种非常常见,第三种非常罕见 我想能够分类这个网页根据每个变化。我试图分析每个变体的html源代码,但根据Python字符串equals和Python difflib,所有变体的html都完全相同。似乎没有任何信息指定在哪里放置谷歌广告或控件 一个例子,考虑一个有两个盒子的图片,一个红色的盒子叫做一个盒子,一个蓝色的盒子叫做盒子B。盒子本身从不改变位置,但是它们的位置是什么。

有一个网页在加载时使用了表单/控件/谷歌广告的随机位置。但是,从我的测试来看,该设置是关闭的。至少有三种可能的变化,其中两种非常常见,第三种非常罕见

我想能够分类这个网页根据每个变化。我试图分析每个变体的html源代码,但根据Python字符串equals和Python difflib,所有变体的html都完全相同。似乎没有任何信息指定在哪里放置谷歌广告或控件

一个例子,考虑一个有两个盒子的图片,一个红色的盒子叫做一个盒子,一个蓝色的盒子叫做盒子B。盒子本身从不改变位置,但是它们的位置是什么。

现在考虑两个可能的变化,其中一个是在网页加载/打开时选择的。 变化1:假设有50%的时间,谷歌广告位于红色框A,网站控件位于蓝色框B

变化2:假设同样有50%的时间,谷歌广告位于蓝色框B,而网站控件则位于红色框A


因此,如果我加载网页,如何根据其变化对其进行分类

如果每次HTML都是相同的,那么这些变化可能是在客户端使用javascript完成的


答案取决于你所说的分类。如果您只是想知道,在页面的任何给定负载上,小部件在哪里,您可能需要使用类似Selenium的东西,在浏览器中实际打开页面并运行javascript,而不仅仅是获取HTML源代码。然后需要使用Selenium来评估一些检测小部件位置的javascript。python中有一个selenium模块,使用起来相当简单。考虑把它挂在幻像上,这样你就不必有浏览器窗口了。顺便问一下,当一个网站在每次加载时随机重新排列它的小部件时,这叫什么?我相信它是用来阻止机器人的,比如Java.robot.Depends。如果他们向不同的访问者群体提供2个版本的页面,并测量他们分析中的差异,这就是A/B测试。如果他们没有测量任何东西,那么可能只是出于任何原因对页面进行随机分组。