0

我正在使用以下代码:

import requests
import re
import pandas as pd
page = requests.get("http://portfoliodeagencias.meioemensagem.com.br/anuario/propaganda/agencias/listacompleta")
conteudo_pagina = page.content
string_conteudo_pagina = conteudo_pagina.decode("UTF-8")
lista_de_contato = {}

agencias = re.findall(r'<strong class=\"titu-nome-free\">(.*?)</strong></a></li>\n',str(string_conteudo_pagina))

i=0
while i < 10:
  for nome in agencias:
    if re.search(r'<li><a> <strong class=\"titu-tel-free\">(.*?)</strong>\n',str(string_conteudo_pagina)).start() < re.search(r'<li><a href=\"(.*?)\"><strong',str(string_conteudo_pagina)).start():
      lista_de_contato[nome] = re.findall(r'<li><a> <strong class=\"titu-tel-free\">(.*?)</strong>\n',str(string_conteudo_pagina)),re.findall(r'<li><a href=\"(.*?)\"><strong',str(string_conteudo_pagina))
      string_conteudo_pagina[re.search(r'<li><a href=\"(.*?)\"><strong',str(string_conteudo_pagina)).start():]
      i = i+1
    else:
      lista_de_contato[nome] = re.findall(r'<li><a> <strong class=\"titu-tel-free\">(.*?)</strong>\n',str(string_conteudo_pagina)),'0'
      string_conteudo_pagina[re.search(r'<li><a> <strong class=\"titu-tel-free\">(.*?)</strong>\n',str(string_conteudo_pagina)).start():]
      i = i+1

lista_de_contato

我收到以下消息:

Your notebook size is close to the file size limit (19.5M). Large new outputs may be dropped. So far, 22.1M of output have been discarded.

有没有办法让这段代码在大小限制方面更好?

tks

4

1 回答 1

1

您的笔记本超出了大小,而不是您的代码。

您的最后一行,lista_de_contato它正在将数据输出到您的笔记本。

这使笔记本变大,而不是您的代码。

作为建议,我会尝试限制显示。例如,如果您将数据存储在 pandas 数据框中,则会自动限制显示。我总是尝试从 pandas 数据框中抓取数据来组织数据,因为它们真的很容易导出和摆弄。

另外,如果您需要,我也是巴西人,可能会有所帮助(我假设您也是巴西人,因为您正在抓取巴西广告网站)

于 2018-01-29T02:19:45.447 回答