在网页上找到广告

9
我正在编写一个应用程序,试图确定页面上是否有广告。目前,我使用Python通过Selenium WebDriver进行浏览器驱动。我认为许多广告存在于iframe中,因此我已经编写了一个循环来查看每个frame的内容。
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中)。我需要在每个框架内查找doubleclick、adtech或adblade之类的内容吗?

还是需要针对每个页面生成不同的检查规则?

了解页面广告显示方式的人能否分享一下,谢谢。


3
由于同源策略,来自不同域的 iframe 内容无法从父页面访问。 - Diodeus - James MacFarlane
是的。它正在读取大约12个页面的内容,但查看源代码在这个示例中显示了28个。我想知道是否有一组常见的框架参数或其他东西,可以让您知道它是否是广告。 - Fal-Cone
1
我认为SRC会做到。这是常见广告服务器的列表:http://pgl.yoyo.org/as/serverlist.php?hostformat=hosts - Diodeus - James MacFarlane
那么你认为只是寻找广告服务器名称的实例是确定页面是否有广告的一种可行方式吗?那么横幅广告呢?它们只是图片。 - Fal-Cone
横幅广告必须从某个地方提供。 - Diodeus - James MacFarlane
真相。我要看看我能想出什么。 - Fal-Cone
1个回答

11

好的。将那个文件复制下来并格式化了。运行得非常顺利。 - Fal-Cone
2
@Fal-Cone 你最终使用哪个脚本完成了你的任务?我也在开发类似的应用程序。 - Ankur Rastogi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接