인프런 커뮤니티 질문&답변

yun_cic님의 프로필 이미지
yun_cic

작성한 질문수

[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

강의 내용 외 크롤링 질문입니다.

작성

·

257

1

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")

 

답변 2

0

yun_cic님의 프로필 이미지
yun_cic
질문자

리스트에 url주소가 여러개 있을 때 리스트 안에 있는 url 주소를 하나씩 꺼내서 그 주소로 접속 후 원하는 정보 크롤링하고, 다음 주소 꺼내서 접속 후 크롤링하고.. 이렇게 하려고 하는데 
리스트에 담긴 url 에 접속하는 방법을 모르겠습니다.

스타트코딩님의 프로필 이미지
스타트코딩
지식공유자

파이썬 문법 중, 리스트와 반복문을 다시 공부해 보시면 좋을 것 같습니다 :)

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

    ==아래 뷰티풀수프 이용해서 크롤링==

 

 

yun_cic님의 프로필 이미지
yun_cic
질문자

감사합니다 !

 

0

스타트코딩님의 프로필 이미지
스타트코딩
지식공유자

안녕하세요.

 

어떤 부분에서 오류가 나는지 조금 더 상세히 설명해 주시겠어요?

 

Q) 작동이 되질 않아 뭐가 문제인지 잘 모르겠습니다 ㅠㅠ

이렇게 질문을 주시면 제가 답변해드리기 어렵습니다 ㅠㅠ

ex) line 9번째에서 오류가 나요

오류 메세지는 이렇게 나옵니다

 

ex) 크롤링한 데이터를 받아오지 못합니다. 비어 있어요. 

yun_cic님의 프로필 이미지
yun_cic

작성한 질문수

질문하기