извлечение данных с сайта с помощью Beautifulsoup4 и анализировать в CSV - PullRequest
0 голосов
/ 10 марта 2020

Я только начал с python, и я немного растерялся. В основном проблема заключается в том, что я хочу извлечь данные с этого сайта: "https://www.berufsstart.de/unternehmen/bundesland/baden-wuerttemberg-top-100.php" и получить все 100 компаний со своими сотрудниками и их город, проанализированный в CSV. Я никогда не работал с Beautifulsoup раньше, и каждый учебник, который я нашел, использует только простой код. Я хотел бы поделиться своим кодом, но он не слишком много и пытается понять концепцию. Я не ожидаю 100% готового решения, больше объяснений о том, как начать этот проект.

заранее спасибо, ребята!

1 Ответ

0 голосов
/ 11 марта 2020
from bs4 import BeautifulSoup
import requests
import csv


r = requests.get(
    "https://www.berufsstart.de/unternehmen/bundesland/baden-wuerttemberg-top-100.php")

soup = BeautifulSoup(r.text, 'html.parser')

numbers = []
names = []
cities = []
for num in soup.findAll("div", class_="col-sm-2"):
    num = num.get_text(strip=True, separator=",")
    if num:
        numbers.append(num.split(',')[1])
for name in soup.findAll("strong", class_="h2"):
    names.append(name.text)
for city in soup.findAll("div", class_="col-sm-5 infobereich"):
    cities.append(city.get_text(strip=True, separator=" ").split(" ")[1])

with open("kas.csv", 'w', newline="") as f:
    writer = csv.writer(f)
    writer.writerow(["Name", "City", "Number"])
    for a, b, c in zip(names, cities, numbers):
        writer.writerow([a, b, c])

print("Done")

Вывод: просмотр в режиме онлайн

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...