【发布时间】:2012-11-05 13:40:25
【问题描述】:
我正在编写一个试图确定页面上是否有广告的应用程序。这目前正在使用 python 通过 selenium webdriver 使用浏览器驱动。
我发现 iframe 中存在大量广告,我制作了一个循环来查看每个框架的内部
browser = webdriver.Chrome()
browser.get("http://cnn.com")
all_iframes = browser.find_elements_by_tag_name("iframe")
for iframe in all_iframes:
browser.switch_to_frame(iframe)
print(browser.page_source)
browser.switch_to_default_content()
browser.quit()
我想知道是否有任何一致发现的标签或标签参数,我可以在多个页面上使用它们来确定页面上是否有广告(页面上的 iframe 内部和外部)。我是否必须在每个框架内查找诸如双击、adtech 或 adblade 之类的实例?
或者我是否必须生成不同的规则来逐页检查?
有人知道广告是如何在网页上显示的吗?谢谢。
【问题讨论】:
-
由于同源策略,无法从父页面访问来自不同域的 iframe 内容。
-
是的。它正在阅读其中大约 12 个的内容,但在我刚刚运行的这个示例中,查看源显示为 28 个。我想知道框架中是否只有一组通用参数或可以让您知道它是否是广告的东西
-
我认为 SRC 会。以下是常用广告服务器列表:pgl.yoyo.org/as/serverlist.php?hostformat=hosts
-
所以您认为也许仅仅寻找广告服务器名称的实例是确定页面上是否有广告的可行方法?只是图片的横幅广告呢?
-
横幅广告必须从某个地方提供。
标签: javascript python html ads selenium-webdriver