Scrapy は、インターネット上の関連情報を迅速かつ簡単に取得できる Python ベースのクローラー フレームワークです。この記事では、Scrapy のケースを使用して、LinkedIn で企業情報をクロールする方法を詳細に分析します。
まず、ターゲットが LinkedIn 上の企業情報であることを明確にする必要があります。したがって、LinkedIn の企業情報ページの URL を見つける必要があります。 LinkedIn Web サイトを開き、検索ボックスに会社名を入力し、ドロップダウン ボックスで「会社」オプションを選択して会社紹介ページに入ります。このページでは会社の基本情報や従業員数、関連会社などの情報をご覧いただけます。この時点で、後で使用するためにブラウザの開発者ツールからページの URL を取得する必要があります。この URL の構造は次のとおりです。
https://www.linkedin.com/search/results/companies/?keywords=xxx
このうち、keywords=xxx は検索したキーワードを表します。 xxx は任意の会社名に置き換えることができます。
次に、Scrapy プロジェクトを作成する必要があります。コマンド ラインに次のコマンドを入力します。
scrapy startproject linkedin
このコマンドは、現在のディレクトリに linkedin という名前の Scrapy プロジェクトを作成します。
プロジェクトを作成した後、プロジェクトのルート ディレクトリに次のコマンドを入力して新しいクローラーを作成します:
scrapy genspider company_spider www.linkedin.com
これにより、company_spider という名前のスパイダーが作成され、Linkedin の会社ページに配置されます。
Spider では、クロールする URL やページ内のデータの解析方法など、いくつかの基本情報を構成する必要があります。作成した 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): pass
上記のコードでは、クロールするサイト URL と解析関数を定義します。上記のコードでは、クロールするサイト URL と解析関数のみを定義しており、クローラーの特定の実装は追加していません。次に、LinkedIn の企業情報を取得して処理するための解析関数を作成する必要があります。
解析関数では、LinkedIn 企業情報を取得して処理するコードを記述する必要があります。 XPath または CSS セレクターを使用して HTML コードを解析できます。 LinkedIn 企業情報ページの基本情報は、次の XPath を使用して抽出できます。
//*[@class="org-top-card-module__name ember-view"]/text()
この XPath は、クラス「org-top-card-module__name ember-view」の要素を選択し、そのテキスト値を返します。
以下は完全な 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)
上記のコードでは、XPath セレクターと CSS セレクターを使用して、ページ内の基本情報、会社プロフィール、タグ、および従業員情報を抽出します。 , そして、基本的なデータ処理と出力を実行しました。
これで、LinkedIn 企業情報ページのクロールと処理が完了しました。次に、Scrapy を実行してクローラーを実行する必要があります。コマンド ラインに次のコマンドを入力します:
scrapy roll company
このコマンドを実行すると、Scrapy は LinkedIn 企業情報ページのデータのクロールと処理を開始し、クロール結果を出力します。 。
概要
上記は、Scrapy を使用して LinkedIn 企業情報をクロールする方法です。 Scrapy フレームワークの助けを借りて、大規模なデータ スクレイピングを簡単に実行できると同時に、データの処理と変換ができるため、時間とエネルギーが節約され、データ収集効率が向上します。
以上が悪質なケース分析: LinkedIn で企業情報をクロールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。