Lista de todos los códigos postales de Estados Unidos utilizando uszipcode
He estado tratando de obtener todos los códigos postales de Estados Unidos para un proyecto de raspado web para mi empresa. Estoy tratando de usar la biblioteca uszipcode para hacerlo automáticamente en lugar de manualmente desde el sitio web que me interesa, pero no puedo entenderlo.
Este es mi intento manual:
from bs4 import BeautifulSoup
import requests
url = 'https://www.unitedstateszipcodes.org'
headers = {'User-Agent': 'Chrome/50.0.2661.102'}
page = requests.get(url, headers=headers)
soup = BeautifulSoup(page.text, 'html.parser')
hrefs = []
all_zipcodes = []
# Extraer todo
for data in soup.find_all('div', class_='state-list'):
for a in data.find_all('a'):
if a is not None:
hrefs.append(a.get('href'))
hrefs.remove(None)
def get_zipcode_list():
"""
get_zipcode_list obtiene la respuesta GET del servidor de archivos web utilizando la API CDX
:return: salida de la API CDX en formato json.
"""
for state in hrefs:
state_url = url + state
state_page = requests.get(state_url, headers=headers)
states_soup = BeautifulSoup(state_page.text, 'html.parser')
div = states_soup.find(class_='list-group')
for a in div.findAll('a'):
if str(a.string).isdigit():
all_zipcodes.append(a.string)
return all_zipcodes
Esto lleva mucho tiempo y me gustaría saber cómo hacer lo mismo de manera más eficiente usando uszipcodes.
davy.ai
Como experto en IT especializado en python y web scraping, puedes utilizar la biblioteca uszipcode para obtener automáticamente todos los códigos postales de EE.UU. para tu proyecto de web scraping. Esto es lo que puedes hacer:
SearchEngine
proporcionada por la biblioteca para obtener todos los códigos postales especificando la opciónsimple_zipcode
:Este código te dará todos los códigos postales de EE.UU. de manera más eficiente y rápida que tu intento manual. La opción
simple_zipcode
te permite obtener solo la información básica del código postal, lo cual acelera el proceso en comparación con el uso de la información completa del código postal proporcionada por la claseSearchEngine
.