import os import requests from adblockparser import AdblockRules class AdFilter: """ Usage: ad.blocker.should_block(url) """ def __init__(self, new): if new: self.latest() self.ad_rules = [] self.pp = os.path.dirname(__file__) self.load_ad() self.blocker = AdblockRules(self.ad_rules) def latest(self): os.system("git clone https://github.com/easylist/easylist.git") def load_ad(self): # adserver f = open(self.pp + "/easylist-master/easylist/easylist_adservers.txt", "r") rules = f.read().split("\n")[1:] for rule in rules: self.ad_rules.append(rule.split("$")[0]) f.close() # adserver_popup f = open(self.pp + "/easylist-master/easylist/easylist_thirdparty_popup.txt", "r") rules = f.read().split("\n") for rule in rules: self.ad_rules.append(rule.split("$")[0]) f.close() # general_block f = open(self.pp + "/easylist-master/easylist/easylist_general_block.txt", "r") rules = f.read().split("\n") self.ad_rules.extend(rules) f.close() # general_block_popup f = open(self.pp + "/easylist-master/easylist/easylist_general_block.txt", "r") rules = f.read().split("\n") for rule in rules: self.ad_rules.append(rule.split("$")[0]) f.close() # thirdparty f = open(self.pp + "/easylist-master/easylist/easylist_thirdparty.txt", "r") rules = f.read().split("\n") for rule in rules: self.ad_rules.append(rule.split("$")[0]) f.close() class TrackerFilter: """ Usage: tr.blocker.should_block(url) """ def __init__(self, new): if new: self.latest() self.tracker_filter = [] self.pp = os.path.dirname(__file__) self.load_tracker() self.blocker = AdblockRules(self.tracker_filter) def latest(self): os.system("git clone https://github.com/easylist/easylist.git") def load_tracker(self): # general f = open(self.pp + "/easylist-master/easyprivacy/easyprivacy_general.txt", "r") rules = f.read().split("\n") for rule in rules: self.tracker_filter.append(rule.split("$")[0]) f.close() # specific f = open(self.pp + "/easylist-master/easyprivacy/easyprivacy_specific.txt", "r") rules = f.read().split("\n") self.tracker_filter.extend(rules) f.close() # thirdparty f = open(self.pp + "/easylist-master/easyprivacy/easyprivacy_thirdparty.txt", "r") rules = f.read().split("\n") for rule in rules: self.tracker_filter.append(rule.split("$")[0]) f.close() # trackingserviers f = open(self.pp + "/easylist-master/easyprivacy/easyprivacy_trackingservers.txt", "r") rules = f.read().split("\n") for rule in rules: self.tracker_filter.append(rule.split("$")[0]) f.close() if __name__ == "__main__": ad = AdFilter(0) tr = TrackerFilter() print(ad.pp) print(ad.blocker.should_block("https://www.baidu.com"))