def __init__( self, firefox_cookies=None, parser=None, history=NoHistory(), proxy=None, logger=None, factory=None, responses_dirname=None, ): mechanize.Browser.__init__(self, history=history, factory=factory) self.logger = getLogger("browser", logger) self.addheaders = [["User-agent", self.USER_AGENT]] # Use a proxy self.proxy = proxy if proxy is not None: self.set_proxies(proxy) # Share cookies with firefox if firefox_cookies: # Try to load cookies try: from .firefox_cookies import FirefoxCookieJar self._cookie = FirefoxCookieJar(self.DOMAIN, firefox_cookies) self._cookie.load() self.set_cookiejar(self._cookie) except ImportError as e: logging.warning("Unable to store Firefox cookies: %s", e) self._cookie = None else: self._cookie = None if parser is None: parser = get_parser()() elif isinstance(parser, (tuple, list, basestring)): parser = get_parser(parser)() self.parser = parser self.lock = RLock() if self.DEBUG_HTTP: # display messages from httplib self.set_debug_http(True) if logging.root.level <= logging.DEBUG: # Enable log messages from mechanize.Browser self.set_debug_redirects(True) mech_logger = logging.getLogger("mechanize") mech_logger.setLevel(logging.INFO) self.responses_dirname = responses_dirname self.responses_count = 0
def __init__(self, firefox_cookies=None, parser=None, history=NoHistory(), proxy=None, logger=None, factory=None, responses_dirname=None): mechanize.Browser.__init__(self, history=history, factory=factory) self.logger = getLogger('browser', logger) self.responses_dirname = responses_dirname self.save_responses = responses_dirname is not None self.responses_count = 0 self.addheaders = [['User-agent', self.USER_AGENT]] # Use a proxy self.proxy = proxy if proxy is not None: self.set_proxies(proxy) # Share cookies with firefox if firefox_cookies: # Try to load cookies try: from .firefox_cookies import FirefoxCookieJar self._cookie = FirefoxCookieJar(self.DOMAIN, firefox_cookies) self._cookie.load() self.set_cookiejar(self._cookie) except ImportError as e: logging.warning("Unable to store Firefox cookies: %s", e) self._cookie = None else: self._cookie = None if parser is None: parser = get_parser()() elif isinstance(parser, (tuple, list, basestring)): parser = get_parser(parser)() self.parser = parser self.lock = RLock() if self.DEBUG_HTTP: # display messages from httplib self.set_debug_http(True) if logging.root.level <= logging.DEBUG: # Enable log messages from mechanize.Browser self.set_debug_redirects(True) mech_logger = logging.getLogger("mechanize") mech_logger.setLevel(logging.INFO)
def get_current(self): doc = self.browser.location('http://www.novaplanet.com/radionova/ontheair?origin=/') html = doc['track']['markup'] parser = get_parser()() doc = parser.parse(StringIO(html)) artist = u' '.join([txt.strip() for txt in doc.xpath('//div[@class="artist"]')[0].itertext()]) title = u' '.join([txt.strip() for txt in doc.xpath('//div[@class="title"]')[0].itertext()]) return unicode(artist).strip(), unicode(title).strip()
def get_current(self): doc = self.browser.location( 'http://www.novaplanet.com/radionova/ontheair?origin=/') html = doc['track']['markup'] parser = get_parser()() doc = parser.parse(BytesIO(html)) artist = u' '.join([ txt.strip() for txt in doc.xpath('//div[@class="artist"]')[0].itertext() ]) title = u' '.join([ txt.strip() for txt in doc.xpath('//div[@class="title"]')[0].itertext() ]) return unicode(artist).strip(), unicode(title).strip()
def get_document(self, result, parser=None, encoding=None): """ Get a parsed document from a stream. :param result: HTML page stream :type result: stream """ if parser is None: parser = self.parser elif isinstance(parser, (basestring, list, tuple)): parser = get_parser(parser)() if encoding is None: encoding = self.ENCODING return parser.parse(result, encoding)