Heim  >  Artikel  >  Backend-Entwicklung  >  Scrapy-Fallanalyse: So crawlen Sie Unternehmensinformationen auf LinkedIn

Scrapy-Fallanalyse: So crawlen Sie Unternehmensinformationen auf LinkedIn

王林
王林Original
2023-06-23 10:04:401866Durchsuche

Scrapy ist ein Python-basiertes Crawler-Framework, mit dem schnell und einfach relevante Informationen im Internet abgerufen werden können. In diesem Artikel analysieren wir anhand eines Scrapy-Falls im Detail, wie Unternehmensinformationen auf LinkedIn gecrawlt werden.

  1. Bestimmen Sie die Ziel-URL

Zunächst müssen wir klarstellen, dass unser Ziel die Unternehmensinformationen auf LinkedIn sind. Daher müssen wir die URL der LinkedIn-Unternehmensinformationsseite finden. Öffnen Sie die LinkedIn-Website, geben Sie den Firmennamen in das Suchfeld ein und wählen Sie im Dropdown-Feld die Option „Unternehmen“, um zur Unternehmensvorstellungsseite zu gelangen. Auf dieser Seite können wir die grundlegenden Informationen zum Unternehmen, die Anzahl der Mitarbeiter, verbundene Unternehmen und andere Informationen einsehen. Zu diesem Zeitpunkt müssen wir die URL der Seite zur späteren Verwendung von den Entwicklertools des Browsers abrufen. Die Struktur dieser URL ist:

https://www.linkedin.com/search/results/companies/?keywords=xxx

Dabei stellt keywords=xxx die Schlüsselwörter dar, nach denen wir gesucht haben, und xxx kann durch ersetzt werden beliebiger Firmenname.

  1. Scrapy-Projekt erstellen

Als nächstes müssen wir ein Scrapy-Projekt erstellen. Geben Sie in der Befehlszeile den folgenden Befehl ein:

scrapy startproject LinkedIn

Dieser Befehl erstellt ein Scrapy-Projekt mit dem Namen LinkedIn im aktuellen Verzeichnis.

  1. Crawler erstellen

Geben Sie nach dem Erstellen des Projekts den folgenden Befehl in das Projektstammverzeichnis ein, um einen neuen Crawler zu erstellen:

scrapy genspider company_spider www.linkedin.com

Dadurch wird ein Crawler mit dem Namen company_spider erstellt Positionieren Sie es auf Ihrer LinkedIn-Unternehmensseite.

  1. Scrapy konfigurieren

In Spider müssen wir einige grundlegende Informationen konfigurieren, z. B. die zu crawlende URL und wie die Daten auf der Seite analysiert werden. Fügen Sie der soeben erstellten Datei „company_spider.py“ den folgenden Code hinzu:

import scrapy

class CompanySpider(scrapy.Spider):
    name = "company"
    allowed_domains = ["linkedin.com"]
    start_urls = [
        "https://www.linkedin.com/search/results/companies/?keywords=apple"
    ]

    def parse(self, response):
        pass

Im obigen Code definieren wir die zu crawlende Site-URL und die Parsing-Funktion. Im obigen Code haben wir nur die zu crawlende Site-URL und die Analysefunktion definiert und keine spezifische Implementierung des Crawlers hinzugefügt. Jetzt müssen wir die Analysefunktion schreiben, um LinkedIn-Unternehmensinformationen zu erfassen und zu verarbeiten.

  1. Schreiben Sie die Analysefunktion

In der Analysefunktion müssen wir den Code schreiben, um LinkedIn-Unternehmensinformationen zu erfassen und zu verarbeiten. Wir können XPath- oder CSS-Selektoren verwenden, um HTML-Code zu analysieren. Grundlegende Informationen auf der LinkedIn-Unternehmensinformationsseite können mit dem folgenden XPath extrahiert werden:

//*[@class="org-top-card-module__name ember-view"]/text()

Dieser XPath wählt das Element mit der Klasse „org-top-card-module__name ember-view“ aus und gibt seinen Textwert zurück.

Das Folgende ist die vollständige Datei „company_spider.py“:

import scrapy

class CompanySpider(scrapy.Spider):
    name = "company"
    allowed_domains = ["linkedin.com"]
    start_urls = [
        "https://www.linkedin.com/search/results/companies/?keywords=apple"
    ]

    def parse(self, response):
        # 获取公司名称
        company_name = response.xpath('//*[@class="org-top-card-module__name ember-view"]/text()')
        
        # 获取公司简介
        company_summary = response.css('.org-top-card-summary__description::text').extract_first().strip()
        
        # 获取公司分类标签
        company_tags = response.css('.org-top-card-category-list__top-card-category::text').extract()
        company_tags = ','.join(company_tags)

        # 获取公司员工信息
        employees_section = response.xpath('//*[@class="org-company-employees-snackbar__details-info"]')
        employees_current = employees_section.xpath('.//li[1]/span/text()').extract_first()
        employees_past = employees_section.xpath('.//li[2]/span/text()').extract_first()

        # 数据处理
        company_name = company_name.extract_first()
        company_summary = company_summary if company_summary else "N/A"
        company_tags = company_tags if company_tags else "N/A"
        employees_current = employees_current if employees_current else "N/A"
        employees_past = employees_past if employees_past else "N/A"

        # 输出抓取结果
        print('Company Name: ', company_name)
        print('Company Summary: ', company_summary)
        print('Company Tags: ', company_tags)
        print('
Employee Information
Current: ', employees_current)
        print('Past: ', employees_past)

Im obigen Code verwenden wir XPath- und CSS-Selektoren, um die grundlegenden Informationen, das Firmenprofil, Tags und Mitarbeiterinformationen auf der Seite zu extrahieren und einige grundlegende Vorgänge daran durchzuführen Datenverarbeitung und -ausgabe.

  1. Run Scrapy

Jetzt haben wir das Crawlen und Verarbeiten der LinkedIn-Unternehmensinformationsseite abgeschlossen. Als nächstes müssen wir Scrapy ausführen, um den Crawler auszuführen. Geben Sie den folgenden Befehl in die Befehlszeile ein:

scrapy crawl company

Nach der Ausführung dieses Befehls beginnt Scrapy mit dem Crawlen und Verarbeiten der Daten auf der LinkedIn-Unternehmensinformationsseite und gibt die Crawling-Ergebnisse aus.

Zusammenfassung

Oben erfahren Sie, wie Sie mit Scrapy LinkedIn-Unternehmensinformationen crawlen. Mit Hilfe des Scrapy-Frameworks können wir problemlos umfangreiches Daten-Scraping durchführen und gleichzeitig Daten verarbeiten und umwandeln, wodurch wir Zeit und Energie sparen und die Effizienz der Datenerfassung verbessern.

Das obige ist der detaillierte Inhalt vonScrapy-Fallanalyse: So crawlen Sie Unternehmensinformationen auf LinkedIn. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn