A. Mein Ziel: Verwenden Sie Python zum Extrahieren von eindeutigen OCPO-IDs aus einer Excel-Tabelle und Verwenden dieser IDs zum Web-Scrape für entsprechende Firmennamen und NIN-IDs. (Hinweis: Sowohl NIN- als auch OCPO-IDs sind für eine Firma eindeutig).Exportieren von Werten aus einer Kalkulationstabelle mit Python für Webscraping (BeautifulSoup4)
B. Details: i. Extrahieren Sie OCPO-IDs aus einer Excel-Tabelle mit openpyxl. ii. Durchsuchen Sie OCPO-IDs einzeln in einer Unternehmensregistry (https://focus.kontur.ru/) und suchen Sie mithilfe von BeautifulSoup4 nach entsprechenden Firmennamen und Firmen-IDs (NIN).
Beispiel: Eine Suche nach OCPO ID "00044428" ergibt ein passender Name der Firma ПАО "НК "РОСНЕФТЬ" und entsprechende NIN ID "7706107510."
- speichern Sie in Excel die Liste von Firmennamen und NIN-IDs
C. Mein Fortschritt:... i ich bin in der Lage, die Liste der OCPO IDs von Excel zu Python extrahieren
# Pull the Packages
import openpyxl
import requests
import sys
from bs4 import BeautifulSoup
# Pull OCPO from the Spreadsheet
wb = openpyxl.load_workbook(r"C:\Users\ksong\Desktop\book1.xlsx")
sheet = wb.active
sheet.columns[0]
for cellobjc in sheet.columns[0]:
print(cellobjc.value)
ii. Ich kann eine OCPO-ID suchen und Python den übereinstimmenden Firmennamen und die entsprechende NIN-ID des Unternehmens scrappen lassen.
# Part 1a: Pull the Website
r = requests.get("https://focus.kontur.ru/search?query=" + "00044428")
r.encoding = "UTF-8"
# Part 1b: Pull the Content
c = r.content
soup = BeautifulSoup(c, "html.parser", from_encoding="UTF-8")
# Part 2a: Pull Company name
name = soup.find("a", attrs={'class':"js-subject-link"})
name_box = name.text.strip()
print(name_box)
D. Hilfe
i. Wie schreibt man so, dass die einzelnen OCPO-IDs einzeln als Schleife durchsucht werden, damit ich keine Liste von OCPOs IDs bekomme, sondern eine Liste von Suchergebnissen? Mit anderen Worten, jedes OCPO wird durchsucht und mit dem entsprechenden Firmennamen und der NIN-ID abgeglichen. Diese Schleife müsste als ######## ("https://focus.kontur.ru/search?query=" + "########") eingegeben werden.
ii. Welchen Code soll ich auch für Python verwenden, um alle Suchergebnisse in einer Excel-Tabelle zu speichern?