コード例 #1
0
 def post(self, url, post_params={}):
     request = Request(url, urllib.urlencode(post_params), timeout=browser_url_open_timeout)
     print 'dacbrowser post call'
     #print 'post, type(request): ', type(request)
     #print 'dir(request): ', dir(request)
     #print 'request timeout: ', request.timeout
     #print 'dir(request.timeout): ', dir(request.timeout)
     request.add_header('User-agent', self.useragent) 
     return self.__open__(request)
コード例 #2
0
 def markEpisode(self,episode):
     values = {"watched": "adding", "shid": episode} 
     data = urllib.urlencode(values)                
     req = Request(self._urlWacthed, " ")
     req.add_header("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.7) Gecko/20100713 Firefox/3.6.7")
     req.add_header("Referer", self._urlBase)
     req.add_data(data)
     self._cookieJar.add_cookie_header(req)
     res = urlopen(req)
コード例 #3
0
 def markEpisode(self, episode):
     values = {"watched": "adding", "shid": episode}
     data = urllib.urlencode(values)
     req = Request(self._urlWacthed, " ")
     req.add_header(
         "User-Agent",
         "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.7) Gecko/20100713 Firefox/3.6.7"
     )
     req.add_header("Referer", self._urlBase)
     req.add_data(data)
     self._cookieJar.add_cookie_header(req)
     res = urlopen(req)
コード例 #4
0
ファイル: big_book_search.py プロジェクト: AEliu/calibre
def get_urls(br, tokens):
    from urllib import quote_plus
    from mechanize import Request
    from lxml import html
    escaped = [quote_plus(x.encode('utf-8')) for x in tokens if x and x.strip()]
    q = b'+'.join(escaped)
    url = 'http://bigbooksearch.com/books/'+q
    br.open(url).read()
    req = Request('http://bigbooksearch.com/query.php?SearchIndex=books&Keywords=%s&ItemPage=1'%q)
    req.add_header('X-Requested-With', 'XMLHttpRequest')
    req.add_header('Referer', url)
    raw = br.open(req).read()
    root = html.fromstring(raw.decode('utf-8'))
    urls = [i.get('src') for i in root.xpath('//img[@src]')]
    return urls
コード例 #5
0
def get_urls(br, tokens):
    from urllib import quote_plus
    from mechanize import Request
    from lxml import html
    escaped = [quote_plus(x.encode('utf-8')) for x in tokens if x and x.strip()]
    q = b'+'.join(escaped)
    url = 'http://bigbooksearch.com/books/'+q
    br.open(url).read()
    req = Request('http://bigbooksearch.com/query.php?SearchIndex=books&Keywords=%s&ItemPage=1'%q)
    req.add_header('X-Requested-With', 'XMLHttpRequest')
    req.add_header('Referer', url)
    raw = br.open(req).read()
    root = html.fromstring(raw.decode('utf-8'))
    urls = [i.get('src') for i in root.xpath('//img[@src]')]
    return urls
コード例 #6
0
    def _open_with_mechanize(self, url, data=None, referer=False):
        """Opens an internal request with the mechanize library.
        Since the request is internally dispatched, no open server
        port is required.

        :param url: A full qualified URL.
        :type url: string
        :param data: A dict with data which is posted using a `POST` request.
        :type data: dict
        :param referer: Sets the referer when set to ``True``.
        :type referer: Boolean (Default ``False``)
        """
        args = locals().copy()
        del args['self']
        preserved_request = getRequest()
        self.previous_request = ('_open_with_mechanize', args)
        self.previous_url = self.url

        if isinstance(url, Request):
            request = url
        else:
            data = self._prepare_post_data(data)
            request = Request(url, data)

        referer_url = ' '
        if referer:
            if referer is True and self.url:
                referer_url = self.url
            elif isinstance(referer, (str, unicode)):
                referer_url = referer
        request.add_header('REFERER', referer_url)
        request.add_header('HTTP_REFERER', referer_url)

        try:
            self.response = self.get_mechbrowser().open(request)
        except:
            self.response = None
            raise
        self.parse(self.response)
        self.previous_request_library = LIB_MECHANIZE
        setRequest(preserved_request)