import pandas as pd
import requests
from bs4 import BeautifulSoup
"https://search.shopping.naver.com/search/all?query=%EC%8B%9D%EB%B9%B5&frm=NVSHATC&prevQuery=%EC%8B%9D%EB%B9%B5"을
"https://search.shopping.naver.com/search/all?query=식빵&frm=NVSHATC&prevQuery=식빵" 으로 디코딩
keyword = "식빵"
url = f"https://search.shopping.naver.com/search/all?query={keyword}&frm=NVSHATC&prevQuery={keyword}"
response = requests.get(url)
dom = BeautifulSoup(response.text, "html.parser")
type(dom) # 출력: bs4.BeautifulSoup
select()
: 엘리먼트 여러개 선택select_one()
: 엘리먼트 한개 선택elements = dom.select(".list_basis > div > div .basicList_info_area__17Xyo")
len(elements) # 5
items = []
for element in elements:
data = {
"product" : element.select_one(".basicList_title__3P9Q7 > a").text,
"price" : element.select_one(".basicList_price_area__1UXXR .price_num__2WUXn").text,
}
items.append(data)
bread_search = pd.DataFrame(items)
bread_search
import pandas as pd
import requests
from bs4 import BeautifulSoup
def bread_search(keyword):
url = f"https://search.shopping.naver.com/search/all?query={keyword}&\
frm=NVSHATC&prevQuery={keyword}"
response = requests.get(url)
dom = BeautifulSoup(response.text, "html.parser")
elements = dom.select(".list_basis > div > div .basicList_info_area__17Xyo")
items = []
for element in elements:
data = {
"product" : element.select_one(".basicList_title__3P9Q7 > a").text,
"price" : element.select_one(".basicList_price_area__1UXXR .price_num__2WUXn").text,
"link" : element.select_one(".basicList_title__3P9Q7 > a").get("href"),
}
items.append(data)
return pd.DataFrame(items)
네이버 랭킹순/낮은 가격순/높은 가격순 탭을 클릭 했을 때 크롬 개발자도구 Fetch/XHR 탭에서 all?sort로 뜨는 곳에서 img url 찾을 수 있었습니다.
preview의 json파일에서 'shoppingResult' 'products'에서 imageUrl' 키 value로 get하였더니 이미지 정상적으로 저장되는걸 확인할 수 있었어요확인해보니 진짜로 있다!