Scrapy는 인터넷에서 관련 정보를 빠르고 쉽게 얻을 수 있는 Python 기반 크롤러 프레임워크입니다. 이 기사에서는 Scrapy 사례를 사용하여 LinkedIn에서 회사 정보를 크롤링하는 방법을 자세히 분석합니다.
- 타겟 URL 정하기
우선 우리의 타겟이 링크드인의 회사 정보라는 점을 분명히 해야 합니다. 따라서 LinkedIn 회사 정보 페이지의 URL을 찾아야 합니다. LinkedIn 웹사이트를 열고 검색창에 회사 이름을 입력한 후 드롭다운 상자에서 "회사" 옵션을 선택하여 회사 소개 페이지로 들어갑니다. 이 페이지에서는 회사의 기본정보, 직원수, 소속회사 및 기타 정보를 확인할 수 있습니다. 이 시점에서 이후 사용을 위해 브라우저의 개발자 도구에서 페이지의 URL을 가져와야 합니다. 이 URL의 구조는 다음과 같습니다.
https://www.linkedin.com/search/results/companies/?keywords=xxx
그 중keywords=xxx는 우리가 검색한 키워드를 나타내며, xxx는 다음과 같이 대체될 수 있습니다. 어떤 회사 이름.
- Create Scrapy 프로젝트
다음으로 Scrapy 프로젝트를 생성해야 합니다. 명령줄에 다음 명령을 입력하세요.
scrapy startproject linkedin
이 명령은 현재 디렉터리에 linkedin이라는 Scrapy 프로젝트를 생성합니다.
- 크롤러 생성
프로젝트를 생성한 후 프로젝트 루트 디렉터리에 다음 명령을 입력하여 새 크롤러를 생성합니다.
scrapy genspider company_spider www.linkedin.com
이렇게 하면 company_spider라는 크롤러가 생성되고, Linkedin 회사 페이지에 배치하세요.
- Scrapy 구성
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 선택기를 사용하여 페이지의 기본 정보, 회사 프로필, 태그 및 직원 정보를 추출하고 이에 대한 몇 가지 기본 작업을 수행합니다. 데이터 처리 및 출력.
- Run Scrapy
이제 LinkedIn 회사 정보 페이지 크롤링 및 처리가 완료되었습니다. 다음으로 크롤러를 실행하려면 Scrapy를 실행해야 합니다. 명령줄에 다음 명령을 입력하세요.
scrapy creep company
이 명령을 실행하면 Scrapy는 LinkedIn 회사 정보 페이지의 데이터를 크롤링 및 처리하고 크롤링 결과를 출력합니다.
요약
위는 Scrapy를 사용하여 LinkedIn 회사 정보를 크롤링하는 방법입니다. Scrapy 프레임워크의 도움으로 대규모 데이터 스크래핑을 쉽게 수행하는 동시에 데이터를 처리 및 변환하여 시간과 에너지를 절약하고 데이터 수집 효율성을 향상시킬 수 있습니다.
위 내용은 Scrapy 사례 분석: LinkedIn에서 회사 정보를 크롤링하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

다음 단계를 통해 Numpy를 사용하여 다차원 배열을 만들 수 있습니다. 1) Numpy.array () 함수를 사용하여 NP.Array ([[1,2,3], [4,5,6]]과 같은 배열을 생성하여 2D 배열을 만듭니다. 2) np.zeros (), np.ones (), np.random.random () 및 기타 함수를 사용하여 특정 값으로 채워진 배열을 만듭니다. 3) 서브 어레이의 길이가 일관되고 오류를 피하기 위해 배열의 모양과 크기 특성을 이해하십시오. 4) NP.Reshape () 함수를 사용하여 배열의 모양을 변경하십시오. 5) 코드가 명확하고 효율적인지 확인하기 위해 메모리 사용에주의를 기울이십시오.

BroadcastingInnumpyIsamethodtoperformoperationsonArraysoffferentShapesByAutomicallyAligningThem.itsimplifiesCode, enourseadability, andboostsperformance.here'showitworks : 1) smalraysarepaddedwithonestomatchdimenseare

forpythondatastorage, chooselistsforflexibilitywithmixeddatatypes, array.arrayformemory-effic homogeneousnumericaldata, andnumpyarraysforadvancednumericalcomputing.listsareversatilebutlessefficipforlargenumericaldatasets.arrayoffersamiddlegro

pythonlistsarebetterthanarraysformanagingDiversEdatatypes.1) 1) listscanholdementsofdifferentTypes, 2) thearedynamic, weantEasyAdditionSandremovals, 3) wefferintufiveOperationsLikEslicing, but 4) butiendess-effectorlowerggatesets.

toaccesselementsInapyThonArray : my_array [2] AccessHetHirdElement, returning3.pythonuseszero 기반 인덱싱 .1) 사용 positiveAndnegativeIndexing : my_list [0] forthefirstelement, my_list [-1] forstelast.2) audeeliciforarange : my_list

기사는 구문 모호성으로 인해 파이썬에서 튜플 이해의 불가능성에 대해 논의합니다. 튜플을 효율적으로 생성하기 위해 튜플 ()을 사용하는 것과 같은 대안이 제안됩니다. (159 자)

이 기사는 파이썬의 모듈과 패키지, 차이점 및 사용법을 설명합니다. 모듈은 단일 파일이고 패키지는 __init__.py 파일이있는 디렉토리이며 관련 모듈을 계층 적으로 구성합니다.

기사는 Python의 Docstrings, 사용법 및 혜택에 대해 설명합니다. 주요 이슈 : 코드 문서 및 접근성에 대한 문서의 중요성.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구
