擅长:python、mysql、java
<p>您可以尝试以下解决方案,但我不确定这是否涵盖所有情况(我暂时无法检查):</p>
<pre><code>import requests
import sockets
from selenium import webdriver
url = input('Enter URL to detect ads from: ')
browser = webdriver.Chrome()
browser.get('http://'+url)
all_iframes = browser.find_elements_by_tag_name("iframe")
# Get IP list of ad servers with GET HTTP request (you might need to use "pip install requests")
list_of_ad_servers = requests.get('http://pgl.yoyo.org/adservers/iplist.php?ipformat=&showintro=1&mimetype=plaintext').text.split()
if len(all_iframes) > 0:
for i in all_iframes:
try:
source = i.get_attribute('src')
if source.startswith('http'): # to get only 3rd-party links
# Get IP of source link and check if it present in ad servers list
if socket.gethostbyname(source.split('/')[2]) in list_of_ad_servers:
print('This is advertisement iframe!')
browser.execute_script('arguments[0].hidden=true;', i)
except: pass
</code></pre>