2017-11-08 2 views
0

Ich habe Arbeitgeber IDs bekam, das Gebiet zu bekommen, das Geschäft genutzt werden können:Scrape Amerikas Career InfoNet

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

Die HTML enthält die Daten in tr/td Tabellen:

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

So würde ich gerne bekommen

  • Exporteure (Whls)
  • Andere Sonstiges Durable Goods Großhandelsunter
  • Sporting und Produktion Sportwaren sieht

Mein Beispiel-Code wie folgt aus:

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) 

Antwort

0

Ich würde dies damit Vorwort mag, dass diese Technik ziemlich schlampig , aber es wird die Arbeit erledigt, vorausgesetzt, dass jede Seite, die Sie scrape, eine ähnliche Einrichtung hat.

Ihr Code eignet sich hervorragend für den Zugriff auf die Seite selbst, habe ich einfach einen Scheck für jedes Element hinzufügen, um zu bestimmen, ob es die "Business Description" ist, oder die "Primary" oder "Related Industry". Dann können Sie auf das entsprechende Element zugreifen und dieses verwenden.

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) 

Die andere kleine Modifikation I gemacht setzt div.find_all('td') in einer Liste, die dann indiziert werden kann, um das Element zu öffnen würden wir Sie wollen.

Hoffe es hilft!

+0

Danke, ich bin sehr dankbar. Kannst du bitte auch einen Blick auf https://stackoverflow.com/questions/47212951/scrape-wood-industry-database-with-beautifulsoup werfen? –