Maison >développement back-end >Tutoriel Python >Analyse de cas Scrapy : Comment explorer les informations de l'entreprise sur LinkedIn
Scrapy est un framework d'exploration basé sur Python qui peut obtenir rapidement et facilement des informations pertinentes sur Internet. Dans cet article, nous utiliserons un cas Scrapy pour analyser en détail comment explorer les informations d'une entreprise sur LinkedIn.
Tout d'abord, nous devons préciser que notre cible sont les informations de l'entreprise sur LinkedIn. Par conséquent, nous devons trouver l’URL de la page d’informations sur l’entreprise LinkedIn. Ouvrez le site Web de LinkedIn, saisissez le nom de l'entreprise dans le champ de recherche et sélectionnez l'option « Entreprise » dans la liste déroulante pour accéder à la page d'introduction de l'entreprise. Sur cette page, nous pouvons voir les informations de base de l'entreprise, le nombre d'employés, les sociétés affiliées et d'autres informations. À ce stade, nous devons obtenir l'URL de la page auprès des outils de développement du navigateur pour une utilisation ultérieure. La structure de cette URL est la suivante :
https://www.linkedin.com/search/results/companies/?keywords=xxx
Parmi eux, keywords=xxx représente les mots-clés que nous avons recherchés, et xxx peut être remplacé par n’importe quel nom d’entreprise.
Ensuite, nous devons créer un projet Scrapy. Entrez la commande suivante sur la ligne de commande :
scrapy startproject linkedin
Cette commande créera un projet Scrapy nommé linkedin dans le répertoire courant.
Après avoir créé le projet, entrez la commande suivante dans le répertoire racine du projet pour créer un nouveau robot :
scrapy genspider company_spider www.linkedin.com
Cela créera un robot nommé company_spider, et positionnez-le sur votre page entreprise Linkedin.
Dans Spider, nous devons configurer certaines informations de base, telles que l'URL à explorer et comment analyser les données de la page. Ajoutez le code suivant au fichier company_spider.py que vous venez de créer :
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
Dans le code ci-dessus, nous définissons l'URL du site à explorer et la fonction d'analyse. Dans le code ci-dessus, nous avons uniquement défini l'URL du site à explorer et la fonction d'analyse, et n'avons pas ajouté l'implémentation spécifique du robot. Nous devons maintenant écrire la fonction d'analyse pour capturer et traiter les informations sur l'entreprise LinkedIn.
Dans la fonction d'analyse, nous devons écrire le code pour capturer et traiter les informations de l'entreprise LinkedIn. Nous pouvons utiliser des sélecteurs XPath ou CSS pour analyser le code HTML. Les informations de base de la page d'informations de l'entreprise LinkedIn peuvent être extraites à l'aide du XPath suivant :
//*[@class="org-top-card-module__name ember-view"]/text()
Ce XPath sélectionnera l'élément avec la classe "org-top-card-module__name ember-view" et renverra sa valeur texte.
Ce qui suit est le fichier company_spider.py complet :
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)
Dans le code ci-dessus, nous utilisons les sélecteurs XPath et CSS pour extraire les informations de base, le profil de l'entreprise, les balises et les informations sur les employés dans la page, et effectuer quelques opérations de base sur ceux-ci. Traitement et sortie des données.
Maintenant, nous avons terminé l'exploration et le traitement de la page d'informations sur l'entreprise LinkedIn. Ensuite, nous devons exécuter Scrapy pour exécuter le robot. Entrez la commande suivante dans la ligne de commande :
scrapy crawl company
Après avoir exécuté cette commande, Scrapy commencera à explorer et à traiter les données dans la page d'informations de l'entreprise LinkedIn, et affichera les résultats de l'analyse.
Résumé
Ce qui précède explique comment utiliser Scrapy pour explorer les informations sur l'entreprise LinkedIn. Avec l'aide du framework Scrapy, nous pouvons facilement effectuer un scraping de données à grande échelle, et en même temps être capables de traiter et de transformer les données, économisant ainsi notre temps et notre énergie et améliorant l'efficacité de la collecte de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!