tutorial scraping hacer example español con como web-scraping beautifulsoup

web-scraping - scraping - scrapy tutorial español



Scrape America''s Career InfoNet (1)

Tengo identificadores de empleador, que pueden utilizarse para obtener el área comercial:

https://www.careerinfonet.org/employ4.asp?emp_id=558742391

El HTML contiene los datos en tablas tr / td:

Business Description: Exporters (Whls) Primary Industry:Other Miscellaneous Durable Goods Merchant Wholesalers Related Industry:Sporting and Athletic Goods Manufacturing

Entonces me gustaría obtener

  • Exportadores (Whls)
  • Otros bienes comerciables de bienes duraderos
  • Fabricación de artículos deportivos y atléticos

Mi código de ejemplo se ve así:

import requests from bs4 import BeautifulSoup page = requests.get("https://www.careerinfonet.org/employ4.asp?emp_id=558742391") soup = BeautifulSoup(page.text, ''html.parser'') div = soup.find(''td'', class_=''content'') for td in div.find_all(''td''): print(td.text)


Me gustaría adelantar esto diciendo que esta técnica es bastante descuidada, pero que hace el trabajo asumiendo que cada página que raspe tenga una configuración similar.

Su código es excelente para acceder a la página en sí, simplemente agrego un cheque para cada elemento para determinar si es la "Business Description" , o la "Primary" "Related Industry" "Primary" o "Related Industry" . Luego puedes acceder al elemento apropiado y usar eso.

import requests from bs4 import BeautifulSoup page = requests.get("https://www.careerinfonet.org/employ4.asp?emp_id=558742391") soup = BeautifulSoup(page.text, ''html.parser'') div = soup.find(''td'', class_=''content'') lst = div.find_all(''td'') for td in lst: if td.text == "Business Description:": print(lst[lst.index(td)+1].text) if td.text == "Primary Industry:": print(lst[lst.index(td)+1].text) if td.text == "Related Industry:": print(lst[lst.index(td)+1].text)

La otra pequeña modificación que hice fue poner div.find_all(''td'') en una lista que luego puede ser indexada, para acceder al elemento que desea.

¡Espero eso ayude!