홈>
스크래피가 처음입니다. 작업중 인 프로젝트에 대한 Indeed의 작업 사이트를 긁어 내려고합니다. Google Chrome inspect를 사용하여 긁는 방법에 대한 구문을 천천히 배우고 control-f를 누르십시오. 이 튜토리얼을 따라 갔다 :
https://www.digitalocean.com/community/tutorials/how-to-crawl-a-web-page-with-scrapy-and-python-3
기본적으로 페이지 당 16 개의 업체 정보를 얻으려고 노력하고 있습니다. 일반적으로 "
//span[@class="company"]/a/text()
이 시점까지의 코드는 다음과 같습니다.
import scrapy
class IndeedSpider(scrapy.Spider):
name='indeed_jobs'
start_urls = ['https://www.indeed.com/jobs?q=software%20engineer&l=Portland%2C%20OR']
def parse(self, response):
SET_SELECTOR = '.jobsearch-SerpJobCard'
for jobListing in response.css(SET_SELECTOR):
pass
아무것도 반환하지 않습니다. 16 행이 필요하므로 SET_SELECTOR가 올바르지 않습니다. 정말 감사하겠습니다!
-
답변 # 1
관련 자료
- hadoop2 - Hive의 Left Join이 예상 한 결과를 반환하지 않습니다
- 한 테이블에서 결과를 반환하는 MySQL은 다른 테이블에 데이터가 있는지에 따라 다릅니다 (마스터 범주)
- JavaScript에서 동일한 입력으로 호출 될 때 다른 결과를 반환하는 스위치 문
- python - 결과를 일으키는 올바른 오류를 모두 반환
- 잘못된 결과를 반환하는 CUDA 프로그램
- azure - 포털 테스트보다 다른 결과를 반환하는 AzureSearchSDK
- date - ssrs 2008 - 특정 개월이 매트릭스에 결과를 반환하지 않고 sql 쿼리 창에 결과가 표시되는 이유는 무엇입니까?
- python - scrapy crawler가 결과를 기하 급수적으로 집계하지 않도록하려면 어떻게합니까
- php - Bcmath가 부정확 한 결과를 반환하는 이유
- azure cosmosdb - 결과를 반환하지 않는 간단한 ST_WITHIN 쿼리
- 날짜 범위 쿼리에서 결과를 반환하지 않음 elasticsearch로 최대 절전 모드 검색
- python - 결과 대신 Asyncio 및 aiohttp 반환 작업
- c# - EF Core 22 저장 프로 시저 호출 0 개의 결과 반환
- 8thwall web - XrControllerhitTest가 ESTIMATED_SURFACE 또는 DETECTED_SURFACE 결과를 반환하지 않습니다
- python - CSS 클래스로 필터링 할 때 왜 scrapy와 beautifulsoup이 아무것도 반환하지 않습니까?
- sql server - 가입시 상위 1 개가 결과를 반환하지 않음
- xml - CURL과 Postman은 동일한 요청에 대해 서로 다른 두 가지 결과를 반환
- sql - 결과를 반환하지 않는 저장 프로 시저
- tsql - SQL Server에서 다른 결과를 반환하는 View의 개수 (*)
- python - sqlite 쿼리 - 0 개의 결과를 반환하는 select from
관련 질문
- Python에서 웹에서 스크랩하는 동안 \ r \ n \ r \ n 가져 오기
- python - 웹 사이트에서 새로운 업데이트를 찾기 위해 웹 스크래핑하는 방법
- selenium - Python을 사용하여 드롭 다운 메뉴에서 동적으로 생성 된 모든 데이터를 스크랩하는 가장 좋은 방법
- python - Selenium 및 BeautifulSoup4를 사용하여 동적으로로드 된 Href 속성 스크랩
- python - Beautiful Soup을 사용하여 복잡한 구조로 HTML 구문 분석
- Python에서 Excel 시트의 각 행에 MIN 값에 대한 추가 열 추가
- Python은 Excel에서 두 번째 열에 두 번째 for 루프를 가져옵니다
- 보고 클릭 할 요소를 스크롤 할 수 없습니다 파이썬 셀레늄
- python - 유효한 Xpath이지만 빈 div가 반환되었습니다아마존 스크래핑
- python - BS4로 웹 스크래핑 할 때 특정 클래스를 찾는 방법은 무엇입니까?
선택기가 올바르게 작동합니다. 와이즈 비즈 그러나 Scrapy 관련 변수는 아닙니다. 무엇이든 호출하거나 선택기 문자열을 함수 호출에 직접 넣을 수도 있습니다. 아무것도 반환되지 않는 이유도 아닙니다.
아무것도 반환하도록 지시하지 않았기 때문에 아무것도 반환하지 않습니다. 현재 코드에서 각 작업 섹션을 찾을 수 있습니다 (
SET_SELECTOR
에서) 루프),하지만 당신은 아무것도하지 말라고 (for
).다음은 각 직업마다 회사를 얻는 예입니다 :
import scrapy class IndeedSpider(scrapy.Spider): name='indeed_jobs' start_urls = ['https://www.indeed.com/jobs?q=software%20engineer&l=Portland%2C%20OR'] def parse(self, response): SET_SELECTOR = '.jobsearch-SerpJobCard' for jobListing in response.css(SET_SELECTOR): # Yield is necessary to return scraped data. yield { # And here you get a value from each job. 'company': jobListing.xpath('.//span[@class="company"]/a/text()').get('').strip() }
사용 참고 XPath의 시작 부분에 그 이유는 문서에 있습니다. 그리고 나는 또한 기본.//
를 추가했습니다 와이즈 비즈 해당 필드가 누락 된 경우 (문서)''
오류가 발생하지 않습니다.그러나 누락 된 부분이 https://docs.scrapy.org/en/latest/intro/tutorial.html
에 설명되어 있으므로 먼저 Scrapy 공식 자습서를 통해 작업하는 것이 좋습니다.get()