# !pip install scrapy ## 또는
# %pip install scrapy
import scrapy, requests
from scrapy.http import TextResponse
url = "https://search.naver.com/search.naver?query=삼성전자"
request = requests.get(url)
response = TextResponse(request.url, body=request.text, encoding="utf-8")
XPath 경로는 크롬 개발자모드에서 원하는 요소 우클릭 --> Copy --> Copy XPath
//*[@id="nx_right_related_keywords"]/div/div[2]/ul/li[1]/a/div
이렇게 있을때
//
: 최상위 엘리먼트
*
: 모든 하위 엘리먼트 : css selector의 한칸띄우기와 같다.
[@id="value"]
: 속성값 선택
/
: 한단계 하위 엘리먼트 : css selector의 >와 같다.
[n]
: nth-child(n)
# div 요소 모두 선택
response.xpath('//*[@id="nx_right_related_keywords"]/div/div[2]/ul/li/a/div')[:2]
# 텍스트 요소 선택 (div 태그가 제거된 데이터만 반환)
response.xpath('//*[@id="nx_right_related_keywords"]/div/div[2]/ul/li/a/div/text()')[:2]
response.xpath('//*[@id="nx_right_related_keywords"]/div/div[2]/ul/li/a/div/text()')\
.extract()
출력
['삼성전자주가',
'삼성전자 주식',
'삼성전자 배당금',
'삼성전자 주가 전망',
'삼성전자 주식가격',
'오늘 삼성전자 주가',
'삼성전자 채용',
'삼성전자 배당금 지급일',
'삼성전자서비스',
'삼성전자 as센터']