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


Python Utils.getLineNo方法代码示例

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


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

示例1: startFetchingProducts

# 需要导入模块: from utils import Utils [as 别名]
# 或者: from utils.Utils import getLineNo [as 别名]
 def startFetchingProducts(self):
     start_time = time.time()
     Utils.printMsg(self._name, "Started", Utils.getLineNo())
     success = False
     while success == False:
         try:
             while True:
                 proxy = self._getProxy()
                 try:
                     jumboMainPage = Utils.makeGetRequest(self._session, self._url, proxy)
                     break
                 except requests.ConnectionError:
                     print traceback.format_exc()
                     self._failedProxies.append(proxy)
                     pass
             soupJumbo = BeautifulSoup(jumboMainPage)
             categorias = soupJumbo.findAll("a", {"class": "btCategoria"})
             self._updateViewStateKey(soupJumbo)
             success = True
         except Exception, e:
             Utils.printMsg(self._name, "Nao consegui encontrar categorias!", Utils.getLineNo())
             Utils.printMsg(self._name, str(e), Utils.getLineNo())
开发者ID:joaocsousa,项目名称:best_shopping,代码行数:24,代码来源:jumbo.py

示例2: startFetchingProducts

# 需要导入模块: from utils import Utils [as 别名]
# 或者: from utils.Utils import getLineNo [as 别名]
    def startFetchingProducts(self):
        start_time = time.time()

        Utils.printMsg(self._name, "Started", Utils.getLineNo())

        success = False
        while (success == False):
            try:
                while True:
                    proxy = self._getProxy()
                    try:
                        continentMainPage = Utils.makeGetRequest(self._session, self._url, proxy)
                        break
                    except requests.ConnectionError:
                        print traceback.format_exc()
                        self._failedProxies.append(proxy)
                        pass
                soupContinente = BeautifulSoup(continentMainPage, "lxml")
                categorias = soupContinente.find("ul", { "id" : "categoryMenu" }).findAll("li")
                success = True
            except Exception, e:
                Utils.printMsg(self._name, "Nao consegui encontrar categorias!", Utils.getLineNo())
                Utils.printMsg(self._name, str(e), Utils.getLineNo())
开发者ID:joaocsousa,项目名称:best_shopping,代码行数:25,代码来源:continente.py

示例3: _updateViewStateKey

# 需要导入模块: from utils import Utils [as 别名]
# 或者: from utils.Utils import getLineNo [as 别名]
 def _updateViewStateKey(self, soupObj):
     viewStateKeyObj = soupObj.find("input", {"id": "__VIEWSTATE_KEY"})
     try:
         if viewStateKeyObj["value"] != self._viewStateKey:
             self._viewStateKey = viewStateKeyObj["value"]
             Utils.printMsg(self._name, "ViewStateKey updated: " + self._viewStateKey, Utils.getLineNo())
     except:
         pass
开发者ID:joaocsousa,项目名称:best_shopping,代码行数:10,代码来源:jumbo.py

示例4: _getProdutosFromCat

# 需要导入模块: from utils import Utils [as 别名]
# 或者: from utils.Utils import getLineNo [as 别名]

#.........这里部分代码省略.........
                    nome = Utils.strip(product.find("a", {"class": "titProd"}).text)
                    if nome == "":
                        raise Exception("")
                except:
                    nome = None
                    # Skip this product if it is ineligable
                    continue

                # Produto - URL
                try:
                    urlProduto = Utils.strip(product.find("a", {"class": "titProd"})["href"])
                except:
                    urlProduto = None

                # Produto - Preco
                try:
                    precoTxt = Utils.strip(product.find("div", {"class": "preco"}).text)
                    precos = re.findall(r"\d+", precoTxt)
                    precoProduto = (float(precos[0]) * 100 + float(precos[1])) / 100
                except:
                    precoProduto = None

                # Produto - Preco/Kg
                try:
                    precoKgTxt = Utils.strip(product.find("div", {"class": "prodkg"}).text)
                    precoKg = float(re.findall(ur"\d{1,4}[,.]\d{1,4}", precoKgTxt)[0].replace(",", "."))
                except:
                    precoKg = None

                # Produto - Peso
                try:
                    peso = Utils.strip(product.find("div", {"class": "gr"}).text)
                except:
                    peso = None

                # Produto - ID
                try:
                    idProduto = Utils.strip(re.findall(ur"\d+$", url)[0])
                except:
                    idProduto = -1

                # Produto - Imagem
                try:
                    imagem = self._domain + Utils.strip(product.find("a", {"id": "lProdDetail"}).find("img")["src"])
                except:
                    imagem = None

                # Produto - Marca
                try:
                    marca = Utils.strip(product.find("div", {"class": "titMarca"}).text).lower()
                except:
                    marca = None

                # Save to DB
                produtoDB = models.Produto(
                    nome=nome,
                    marca=marca,
                    preco=precoProduto,
                    preco_kg=precoKg,
                    peso=peso,
                    url_pagina=urlProduto,
                    url_imagem=imagem,
                    desconto=None,
                    categoria_pai=catDB,
                    hiper=self._hiperRef,
                    latest_update=timezone.now(),
                )
                Utils.saveObjToDB(produtoDB)

                Utils.logProdutos(
                    self._name,
                    Utils.toStr(nome)
                    + Utils.logSeparator
                    + Utils.toStr(marca)
                    + Utils.logSeparator
                    + Utils.toStr(precoProduto)
                    + Utils.logSeparator
                    + Utils.toStr(precoKg)
                    + Utils.logSeparator
                    + Utils.toStr("")
                    + Utils.logSeparator
                    + Utils.toStr(peso)
                    + Utils.logSeparator
                    + Utils.toStr(idProduto)
                    + Utils.logSeparator
                    + Utils.toStr(urlProduto)
                    + Utils.logSeparator
                    + Utils.toStr(imagem),
                )

                nrProdutosParsed += 1

            Utils.printMsg(
                self._name,
                catDB.nome + "-" + "Pagina [" + currentPage + "]: " + str(nrProdutosParsed) + " produtos",
                Utils.getLineNo(),
            )

        # new page, reset session
        self._session = requests.Session()
开发者ID:joaocsousa,项目名称:best_shopping,代码行数:104,代码来源:jumbo.py

示例5: str

# 需要导入模块: from utils import Utils [as 别名]
# 或者: from utils.Utils import getLineNo [as 别名]
                                hiper=self._hiperRef,
                                latest_update=timezone.now(),
                            )
                            Utils.saveObjToDB(subSubCatDB)

                            # SubSubCategoria - Produtos
                            self._getProdutosFromCat(subSubCatDB)

                    currentSubSubCat += 1
                currentSubCat += 1
            currentCat += 1

            Utils.printMsg(self._name, "Finished fetching products of: " + Utils.toStr(catName), Utils.getLineNo())

        Utils.printMsg(
            self._name, "-" + "Finished - Elapsed: " + str(time.time() - start_time) + " seconds", Utils.getLineNo()
        )

    def _getProdutosFromCat(self, catDB):

        if not Utils.validUrl(catDB.url):
            return False

        currentPage = ""
        nextPage = "1"
        singlePage = False
        while nextPage != "" and nextPage != currentPage and singlePage == False:
            productsPage = self._getProdutsPage(nextPage, catDB.url)
            productsPageSoup = BeautifulSoup(productsPage)
            self._updateViewStateKey(productsPageSoup)
            # update current page and next page
开发者ID:joaocsousa,项目名称:best_shopping,代码行数:33,代码来源:jumbo.py

示例6: _getProdutosFromCat

# 需要导入模块: from utils import Utils [as 别名]
# 或者: from utils.Utils import getLineNo [as 别名]
    def _getProdutosFromCat(self, catDB, pagina=1, nrPages=None):

        if not Utils.validUrl(catDB.url):
            return True

        if pagina != 1 and nrPages+1 == pagina:
            return True

        payload = {
                    '__EVENTTARGET': 'ProductsMain1:DataListPages:_ctl'+str((pagina - 1) * 2)+':linkButton',
                    'ProductsMain1:cmbPaginacao':'48'
                    }
        while True:
            proxy = self._getProxy()
            try:
                request = Utils.makePostRequest(self._session, catDB.url, payload, proxy)
                break
            except requests.ConnectionError:
                self._failedProxies.append(proxy)
                print traceback.format_exc()
        soupPagina = BeautifulSoup(request)
        error = soupPagina.find("span",{"id":"Error1_lblErrorDescription"})
        if error:
            Utils.printMsg(self._name, "ERROR IN REQUEST", Utils.getLineNo())
            return False

        #parse Produtos
        produtos = soupPagina.findAll("div",{"class":"product-view"})

        nrProdutosParsed = 0

        for produto in produtos:

            # Produto - Nome
            try:
                nome = Utils.strip(produto.find("a", {"class":"product-view-text-item"}).find(text=True))
                if nome == "":
                    raise Exception("")
            except:
                nome = None
                #Skip this product if it is ineligable
                continue

            # Produto - URL
            try:
                urlProduto = Utils.strip(produto.find("a")["href"])
                urlProduto = self._domain + "/" + urlProduto
                if urlProduto == "":
                    raise Exception("")
            except:
                urlProduto = None

            # Produto - Preco
            try:
                precoProduto = float(re.findall(r'\d*[.,]\d*', Utils.strip(produto.find("div",{"class":"product-view-price"}).text).replace(",","."))[0])
            except:
                precoProduto = None

            # Produto - Preco/Kg
            try:
                precoKg = float(re.findall(r'\d*[.,]\d*', Utils.strip(produto.find("span",{"class":"produtoListaPrecoUnit"}).text).replace(",","."))[0])
            except:
                precoKg = None

            # Produto - Peso
            try:
                peso = Utils.strip(produto.find("span",{"class":"product-package"}).text)
            except:
                peso = None

            # Produto - ID
            try:
                idProduto = int(re.findall(r'productId=\d+', urlProduto, re.IGNORECASE)[0].replace("productId=",""))
            except:
                idProduto = -1

            # Produto - Imagem
            try:
                imagem = self._domain + Utils.strip(produto.find("img")["src"].replace("\\","/").replace("/med/","/lar/").replace("/Med/","/Lar/").replace("_med","_lar").replace("_Med","_Lar"))
                if imagem == "":
                    raise Exception("")
            except:
                imagem = None

            # Produto - Marca
            try:
                marca = Utils.strip(produto.find("span",{"class":"product-logo"}).text)
                if marca == "":
                    raise Exception("")
            except:
                marca = None

            # Produto - Desconto
            try:
                fraseDesconto = re.findall(r'desconto\s*.*\d*[.,]\d*', Utils.strip(produto.text), re.IGNORECASE)[0]
                desconto = float(re.findall(r'\d*[.,]\d*', fraseDesconto)[0].replace(",","."))
            except:
                desconto = None

            # Save to DB
#.........这里部分代码省略.........
开发者ID:joaocsousa,项目名称:best_shopping,代码行数:103,代码来源:continente.py


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