의류 사이트에서 티셔츠 가격을 python scrapy shell 을 사용해서 좀 긁어내려는데요 (예시 링크: https://www.adidas.com/us/search?q=tshirt)
예를 들면 위 예시 링크에 아래와 같은 div class 가 있다면
<div class="gl-price-item gl-price-item--sale notranslate">$36</div>
가격 $36 을 긁어 오고 싶은데요.
scrapy shell 상에서
>>> fetch('https://www.adidas.com/us/search?q=tshirt')
2022-09-25 23:50:11 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.adidas.com/us/search?q=tshirt> (referer: None)
>>> response.css('div.gl-price-item.gl-price-item--sale.notranslate')
[]
하면 '[]' -> 이렇게 빈 배열이 리턴되는데 이거 왜 그런건가요?
scrapy 말고 다른 툴 써야 하나요?
|
|
2022.09.26 13:23:51 |





| 3개의 댓글 |
|
scrapy 는 js 후처리를 하지 않습니다
요즘 거의 모든 웹사이트가 단순 html + css 조합이 아니라, 로딩 후에 js 로 동적 생성하기 때문에 selenium 같은걸로 써서 동적 사이트 js 후처리를 한 뒤에 scrapy 나 beautifl soup 으로 원하는 정보를 찾아야합니다 featch -> selenium -> scrapy 순서가 되겠습니다 |
|
|
2022/09/26 13:50
|
|
| 아... 감사합니다.. | |
|
2022/09/26 14:02
|
|
|
예시사이트 같은 경우는 div 파싱 하지 마시고
개발자 도구 켜놓고 메시지 내역 보시면 정제된 데이터 통신 내역이 쭉 뜨니까 흐름 따라서 가면 쉽고 빠르게 데이터를 받을 수 있을 것 같습니다 |
|
|
2022/09/28 13:53
|
|