我使用以下代码:
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
答案 0 :(得分:1)
您的笔记本超出了尺寸,而不是您的代码。
您的最后一行lista_de_contato
,它正在向您的笔记本输出数据。
这会使笔记本变大,而不是你的代码。
作为建议,我会尝试限制显示。例如,如果您将数据存储在pandas数据框中,则会自动为您限制显示。我总是试图在pandas数据帧中组织数据,因为它们很容易导出和摆弄。
另外,如果你需要的话,我也是巴西人并且可以提供帮助(我假设你也是巴西人,因为你正在抓一个巴西广告网站)