Rumah > pembangunan bahagian belakang > Tutorial Python > Analisis kes buruk: Cara merangkak maklumat syarikat di LinkedIn

Analisis kes buruk: Cara merangkak maklumat syarikat di LinkedIn

王林
Lepaskan: 2023-06-23 10:04:40
asal
2016 orang telah melayarinya

Scrapy ialah rangka kerja perangkak berasaskan Python yang boleh mendapatkan maklumat berkaitan dengan cepat dan mudah di Internet. Dalam artikel ini, kami akan menggunakan kes Scrapy untuk menganalisis secara terperinci cara merangkak maklumat syarikat di LinkedIn.

  1. Tentukan URL sasaran

Pertama sekali, kami perlu menjelaskan dengan jelas bahawa sasaran kami ialah maklumat syarikat di LinkedIn. Oleh itu, kita perlu mencari URL halaman maklumat syarikat LinkedIn. Buka tapak web LinkedIn, masukkan nama syarikat dalam kotak carian, dan pilih pilihan "Syarikat" dalam kotak lungsur untuk memasuki halaman pengenalan syarikat. Pada halaman ini, kita boleh melihat maklumat asas syarikat, bilangan pekerja, syarikat gabungan dan maklumat lain. Pada ketika ini, kita perlu mendapatkan URL halaman daripada alat pembangun penyemak imbas untuk kegunaan seterusnya. Struktur URL ini ialah:

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

Antaranya, keywords=xxx mewakili kata kunci yang kami cari kerana, xxx boleh digantikan dengan mana-mana nama syarikat.

  1. Buat Projek Scrapy

Seterusnya, kita perlu mencipta projek Scrapy. Masukkan arahan berikut pada baris arahan:

scrapy startproject linkedin

Arahan ini akan mencipta projek Scrapy bernama linkedin dalam direktori semasa.

  1. Buat perangkak

Selepas mencipta projek, masukkan arahan berikut dalam direktori akar projek untuk mencipta perangkak baharu:

scrapy genspider company_spider www. linkedin.com

Ini akan mencipta labah-labah bernama company_spider dan menyasarkannya ke halaman syarikat Linkedin.

  1. Mengkonfigurasi Scrapy

Dalam Spider, kita perlu mengkonfigurasi beberapa maklumat asas, seperti URL yang hendak dirangkak dan cara menghuraikan data dalam halaman. Tambahkan kod berikut pada fail company_spider.py yang baru anda buat:

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
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan URL tapak untuk dirangkak dan fungsi penghuraian. Dalam kod di atas, kami hanya mentakrifkan URL tapak untuk dirangkak dan fungsi penghuraian, dan tidak menambah pelaksanaan khusus perangkak itu. Sekarang kita perlu menulis fungsi parse untuk menangkap dan memproses maklumat syarikat LinkedIn.

  1. Tulis fungsi parsing

Dalam fungsi parse, kita perlu menulis kod untuk menangkap dan memproses maklumat syarikat LinkedIn. Kita boleh menggunakan pemilih XPath atau CSS untuk menghuraikan kod HTML. Maklumat asas dalam halaman maklumat syarikat LinkedIn boleh diekstrak menggunakan XPath berikut:

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

Xpath ini akan memilih elemen dengan kelas "org-top-card-module__name ember-view" dan mengembalikan nilai teksnya.

Berikut ialah fail company_spider.py yang lengkap:

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)
Salin selepas log masuk

Dalam kod di atas, kami menggunakan pemilih XPath dan CSS untuk mengekstrak maklumat asas, profil syarikat, teg dan maklumat pekerja daripada halaman, Dan melakukan beberapa pemprosesan data asas dan output pada mereka.

  1. Jalankan Scrapy

Kini, kami telah menyelesaikan merangkak dan memproses halaman maklumat syarikat LinkedIn. Seterusnya, kita perlu menjalankan Scrapy untuk melaksanakan perangkak. Masukkan arahan berikut dalam baris arahan:

scrapy crawl company

Selepas melaksanakan arahan ini, Scrapy akan mula merangkak dan memproses data dalam halaman maklumat syarikat LinkedIn dan mengeluarkan hasil crawl .

Ringkasan

Di atas ialah cara menggunakan Scrapy untuk merangkak maklumat syarikat LinkedIn. Dengan bantuan rangka kerja Scrapy, kami boleh menjalankan pengikisan data berskala besar dengan mudah, dan pada masa yang sama dapat memproses dan mengubah data, menjimatkan masa dan tenaga kami serta meningkatkan kecekapan pengumpulan data.

Atas ialah kandungan terperinci Analisis kes buruk: Cara merangkak maklumat syarikat di LinkedIn. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan