1.엑셀 파일에 저장되어있는 url을 list 형식으로 가져온다.
2. 가져온 url들을 '상품' 열에 str형식으로 저장한다.
3. 가져온 url 에 접속하여 크롤링하여 해당 url 행에 각각의 컬럼에 해당하는 값을 저장한다.
위의 3개의 과정을 코드로 작성해보았는데 작동이 되질 않아 뭐가 문제인지 잘 모르겠습니다 ㅠㅠ
import requests
from bs4 import BeautifulSoup
import time
import openpyxl
import pandas as pd
import numpy as np
import os
#url 추출
excel_source = pd.read_excel('example_2.xlsx')
df=pd.DataFrame(excel_source)
url = df['상품']
item_url = list(url)
for i in item_url:
response = requests.get(i)
html = response.text
soup = BeautifulSoup(html, 'html.parser')
wb = openpyxl.Workbook()
ws = wb.create_sheet("네이버쇼핑크롤링")
ws.append(["상품", "썸네일", "상품명","카테고리","소비자가","판매가","배송비","리뷰수","사용자총평점","상품정보","상품번호","제조사","모델명","원산지","상품상태","브랜드","제조일자","판매자정보","상호명","사업자등록번호","사업장소재지","대표자","통신판매업번호"])
infos = soup.select("div._2-I30XS1lA ")
for s in range(0,len(item_url)+1):
ws.append([item_url[s]])
for z,info in enumerate(infos,1):
#상품
#썸네일
#상품명
item_name = info.select_one("div.CxNYUPvHfB").text
ws.append([z,df,item_name])
wb.save("naver_store.xlsx")
파이썬 문법 중, 리스트와 반복문을 다시 공부해 보시면 좋을 것 같습니다 :)
https://www.youtube.com/watch?v=ly7ISHGmNt0&list=PLNO7MWpu0eeVfqT9ehXWf9CdRALusjUsU&index=8&ab_channel=%EC%8A%A4%ED%83%80%ED%8A%B8%EC%BD%94%EB%94%A9
아래는 예시 코드입니다.
url_list = ['url1', 'url2', 'url3']
for url in url_list:
response = requests.get(url)
html = response.text
==아래 뷰티풀수프 이용해서 크롤링==