【问题标题】:Finding Ads on a web page在网页上查找广告
【发布时间】: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


【解决方案1】:

您可以按广告服务器进行搜索。

http://pgl.yoyo.org/as/serverlist.php?hostformat=adblockplus

查看其他项目并了解它们如何处理相同的任务会很有帮助:

http://adblockplus.org/en/source

【讨论】:

  • 是的。将该文件复制下来并格式化。像魅力一样工作。
  • @Fal-Cone 您最终使用哪个脚本来完成您的任务?我也在开发一个类似的应用程序。
猜你喜欢
  • 2015-02-27
  • 1970-01-01
  • 2015-06-14
  • 2022-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多