当前位置: 首页>>代码示例>>Python>>正文


Python FancyURLopener.retrieve方法代码示例

本文整理汇总了Python中urllib.FancyURLopener.retrieve方法的典型用法代码示例。如果您正苦于以下问题:Python FancyURLopener.retrieve方法的具体用法?Python FancyURLopener.retrieve怎么用?Python FancyURLopener.retrieve使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在urllib.FancyURLopener的用法示例。


在下文中一共展示了FancyURLopener.retrieve方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: download

# 需要导入模块: from urllib import FancyURLopener [as 别名]
# 或者: from urllib.FancyURLopener import retrieve [as 别名]
	def download (self, download_dir):
		result = path.join (download_dir, self.package_basename)
		if path.exists (result):
			print 'Found install', self.package_basename
		else:
			dir_util.mkpath (download_dir)
			url = "http://www.eiffel-loop.com/download/" + self.package_basename
			print 'Downloading:', url
	
			web = FancyURLopener ()
			web.retrieve (url, result, display_progress)

		return result
开发者ID:finnianr,项目名称:Eiffel-Loop,代码行数:15,代码来源:package.py

示例2: ensureFileLocal

# 需要导入模块: from urllib import FancyURLopener [as 别名]
# 或者: from urllib.FancyURLopener import retrieve [as 别名]
    def ensureFileLocal(self, inFilePathOrURL):
        '''
        Takes a file path or URL. Sets self.localFilePath
        to the same path if file is local, or
        if the file is remote but uncompressed. 
        If a file is remote and compressed, retrieves
        the file into a local tmp file and returns that
        file name. In this case the flag self.deleteTempFile
        is set to True. 

        :param inFilePathOrURL: file path or URL to file
        :type inFilePathOrURL: String
        '''
        self.localFilePath = inFilePathOrURL
        self.deleteTempFile = False
        if self.compression == COMPRESSION_TYPE.NO_COMPRESSION:
            return
        # Got compressed file; is it local?
        parseResult = urlparse(inFilePathOrURL)
        if parseResult.scheme == 'file':
            self.localFilePath = parseResult.path
            return
        opener = FancyURLopener()
        # Throws IOError if URL does not exist:
        self.localFilePath = opener.retrieve(inFilePathOrURL)[0]
        self.deleteTempFile = True
开发者ID:paepcke,项目名称:json_to_relation,代码行数:28,代码来源:input_source.py

示例3: download_package

# 需要导入模块: from urllib import FancyURLopener [as 别名]
# 或者: from urllib.FancyURLopener import retrieve [as 别名]
def download_package(pkg_name, pkg_version):
  file_name, path, hash_algorithm, expected_digest = get_package_info(pkg_name,
      pkg_version)
  if not file_name:
    return False
  if os.path.isfile(file_name) and check_digest(file_name, hash_algorithm,
      expected_digest):
    print('File with matching digest already exists, skipping {0}'.format(file_name))
    return True
  downloader = FancyURLopener()
  pkg_url = '{0}/packages/{1}'.format(PYPI_MIRROR, path)
  print('Downloading {0} from {1}'.format(file_name, pkg_url))
  downloader.retrieve(pkg_url, file_name)
  if check_digest(file_name, hash_algorithm, expected_digest):
    return True
  else:
    print('Hash digest check failed in file {0}.'.format(file_name))
    return False
开发者ID:apache,项目名称:incubator-impala,代码行数:20,代码来源:pip_download.py

示例4: __install_grinder

# 需要导入模块: from urllib import FancyURLopener [as 别名]
# 或者: from urllib.FancyURLopener import retrieve [as 别名]
    def __install_grinder(self, grinder_path):
        """
        Installs Grinder.
        Grinder version and download link may be set in config:
        "download-link":"http://domain/resource-{version}.zip"
        "version":"1.2.3"
        """

        dest = os.path.dirname(os.path.dirname(os.path.expanduser(grinder_path)))
        if not dest:
            dest = os.path.expanduser("~/grinder-taurus")
        dest = os.path.abspath(dest)
        grinder_full_path = os.path.join(dest, "lib", "grinder.jar")
        try:
            self.__grinder(grinder_full_path)
            return grinder_full_path
        except CalledProcessError:
            self.log.info("Will try to install grinder into %s", dest)

        downloader = FancyURLopener()
        grinder_zip_path = self.engine.create_artifact("grinder-dist", ".zip")
        version = self.settings.get("version", GrinderExecutor.VERSION)
        download_link = self.settings.get("download-link", GrinderExecutor.DOWNLOAD_LINK)
        download_link = download_link.format(version=version)
        self.log.info("Downloading %s", download_link)

        try:
            downloader.retrieve(download_link, grinder_zip_path, download_progress_hook)
        except BaseException as e:
            self.log.error("Error while downloading %s", download_link)
            raise e

        self.log.info("Unzipping %s", grinder_zip_path)
        unzip(grinder_zip_path, dest, 'grinder-' + version)
        os.remove(grinder_zip_path)
        self.log.info("Installed grinder successfully")
        return grinder_full_path
开发者ID:cherednichenko,项目名称:taurus,代码行数:39,代码来源:grinder.py

示例5: __install_gatling

# 需要导入模块: from urllib import FancyURLopener [as 别名]
# 或者: from urllib.FancyURLopener import retrieve [as 别名]
    def __install_gatling(self, gatling_path):
        """
        Installs Gatling.
        Gatling version and download link may be set in config:
        "download-link":"http://domain/resource-{version}.zip"
        "version":"1.2.3"
        """
        dest = os.path.dirname(os.path.dirname(os.path.expanduser(gatling_path)))  # ../..
        dest = os.path.abspath(dest)

        try:
            self.__gatling(gatling_path)
            return gatling_path
        except OSError:
            self.log.info("Will try to install Gatling into %s", dest)

        # download gatling
        downloader = FancyURLopener()
        gatling_zip_path = self.engine.create_artifact("gatling-dist", ".zip")
        version = self.settings.get("version", GatlingExecutor.VERSION)
        download_link = self.settings.get("download-link", GatlingExecutor.DOWNLOAD_LINK)
        download_link = download_link.format(version=version)
        self.log.info("Downloading %s", download_link)
        # TODO: check archive checksum/hash before unzip and run

        try:
            downloader.retrieve(download_link, gatling_zip_path, download_progress_hook)
        except BaseException as e:
            self.log.error("Error while downloading %s", download_link)
            raise e

        self.log.info("Unzipping %s", gatling_zip_path)
        unzip(gatling_zip_path, dest, 'gatling-charts-highcharts-bundle-' + version)
        os.remove(gatling_zip_path)
        os.chmod(os.path.expanduser(gatling_path), 0o755)
        self.log.info("Installed Gatling successfully")
开发者ID:cherednichenko,项目名称:taurus,代码行数:38,代码来源:gatling.py

示例6: fetchURL

# 需要导入模块: from urllib import FancyURLopener [as 别名]
# 或者: from urllib.FancyURLopener import retrieve [as 别名]
def fetchURL(url, file='', params=None, headers={}, isBinary=False, encodeURL=True):
	log("> bbbLib.fetchURL() %s isBinary=%s encodeURL=%s" % (url, isBinary, encodeURL))
	if encodeURL:
		safe_url = quote_plus(url,'/:&?=+#@')
	else:
		safe_url = url

	success = False
	data = None
	if not file:
		# create temp file if needed
		file = xbmc.translatePath(os.path.join(os.getcwd(), "temp.html"))

	# remove destination file if exists already
	deleteFile(file)

	# fetch from url
	try:
		opener = FancyURLopener()

		# add headers if supplied
#		if headers:
		if not headers.has_key('User-Agent')  and not headers.has_key('User-agent'):
			headers['User-Agent'] = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
		for name, value  in headers.items():
			opener.addheader(name, value)

		fn, resp = opener.retrieve(safe_url, file, data=params)
#		print fn, resp

		content_type = resp.get("Content-Type",'').lower()
		# fail if expecting an image but not corrent type returned
		if isBinary and (find(content_type,"text") != -1):
			raise "Not Binary"

		opener.close()
		del opener
		urlcleanup()
	except IOError, errobj:
		ErrorCode(errobj)
开发者ID:drrlramsey,项目名称:xbmc-addons,代码行数:42,代码来源:bbbLib.py

示例7: FetchThread

# 需要导入模块: from urllib import FancyURLopener [as 别名]
# 或者: from urllib.FancyURLopener import retrieve [as 别名]
class FetchThread(Thread):
    def __init__(self, master):
        Thread.__init__(self)
        self.master=master
        self.ht = httplib.HTTPConnection('www.qwantz.com')
        self.ht.connect()
        self.getter = FancyURLopener()
    
    def run(self):
        notdone = True
        while notdone:
            
            r = self.fetch()
            # if False:
            with self.master.fourLock:
                if r != 200 and r is not None:
                    self.master.fourofours += 1
                else:
                    self.master.fourofours =0
                notdone = self.master.fourofours < 7
            if r == 200:
                with self.master.writeLock:
                    self.master.writeTitles()
            
    def fetch(self):
        with self.master.numLock:
            n = self.master.toget.pop(0)
        justTitle=False
        if os.path.isfile(pjoin(basedir,"dinocomics%06i.png"%(n))):
            if n in self.master.titles.iterkeys():
                return None
            else:
                justTitle=True
        
        # print >> stderr,n
        
        ht = self.ht
        ht.request("GET","/index.php?comic=%i"%n)
        # time.sleep(1)
        # time.sleep(1)ma
        try:
            r = ht.getresponse()
        except: # new connection
            ht = httplib.HTTPConnection('www.qwantz.com')
            ht.connect()
            self.ht = ht
            time.sleep(1)
            # print dir(ht)
            # try:
            r = ht.getresponse()
            # except Exception, e:
                # raise e
        if r.status != 200:
            if r.status in (404, 302):
                print >> stderr, n, "No Comic"
            else:
                print >> stderr,  n, "FAILED: %i"%r.status
            ht = httplib.HTTPConnection('www.qwantz.com')
            ht.connect()
            self.ht = ht
            return r.status
        s = r.read()
        m = re.search('\<img *src *= *"http://www.qwantz.com/comics.*?\>', s,re.S)
        if m is None:
            print >> stderr, n,"no match!1"
            return r.status
        img = m.group()
        m = re.search('src *= *".*?"', img,re.S)
        if m is None:
            print >> stderr, n,"no match!2"
            return r.status
        href = re.search('".*?"',m.group(),re.S).group()[1:-1]
        m = re.search('title *= *".*?"', img,re.S)
        if m is None:
            print >> stderr, n,"no match!3"
            return r.status
        title = re.search('".*"',m.group(),re.S).group()[1:-1].strip()
        
        title = unescape(title)
        title = title.replace("\r\n","\\n")
        title = title.replace("\n","\\n")
        while True:
            prevtitle = title
            title = title.replace("\\n\\n","\\n")
            if prevtitle == title:
                break
        # print repr(title)
        # return
        # self.master.titleLock.acquire()
        with self.master.titleLock:
            self.master.titles[n] = title
        # self.master.titleLock.release()
        print >> stderr, n,title
        if not justTitle:
            self.getter.retrieve(href,"%s/dinocomics%06i.png"%(basedir,n))
        return r.status
开发者ID:minrk,项目名称:DinosaurComics,代码行数:98,代码来源:fetchthread.py

示例8: FancyURLopener

# 需要导入模块: from urllib import FancyURLopener [as 别名]
# 或者: from urllib.FancyURLopener import retrieve [as 别名]
from rovin.belex.BelexParser import BelexParser
from urllib import FancyURLopener
from os import path

url = "http://www.ejustice.just.fgov.be/cgi_loi/loi_a1.pl?language=nl&table_name=wet&la=N&cn=1994021730&&caller=list&N&fromtab=wet"
filename = "constitution-nl.html"

if not path.isfile(filename):
	print "Downloading", url
	downloader = FancyURLopener()
	downloader.retrieve(url, filename)

f = open(filename, 'r')
html = f.read()

parser = BelexParser()
parser.feed(html)
for article in parser.all_articles():
	print " <<<< "
	print article.number
	print "BODY:" + article.body
	print " >>>> "
开发者ID:barthanssens,项目名称:belex-tools,代码行数:24,代码来源:demo.py

示例9: open

# 需要导入模块: from urllib import FancyURLopener [as 别名]
# 或者: from urllib.FancyURLopener import retrieve [as 别名]
import urllib
from urllib import FancyURLopener

storePath = "/home/richard/media/Share/GameVideo"
projectPathBase = "/home/richard/workspace/VideoSpider"

with open("%s/pyspider/aipaiImg.list" % projectPathBase, "r") as listFile:
    i = 0
    for imgsrc in listFile:
        sp = imgsrc.split(":h")
        opener = FancyURLopener({}) 
        opener.version = 'Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11'
        opener.retrieve("h"+sp[1], "%s/%s" % (storePath, sp[0]))
        i = i+1
        print i,
        print sp[0]
开发者ID:richard-liang,项目名称:VideoSpider,代码行数:18,代码来源:getAipaiPic.py


注:本文中的urllib.FancyURLopener.retrieve方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。