python -m venv [가상환경 이름]
- vscode 실행 -> Ctrl + Shift + P -> crawling 검색 및 클릭
<cmd 환경>
pip install requests
pip install bs4
pip install selenium
pip install numpy
Http GET Request
req = requests.get(쇼핑몰 주소)
HTML 소스 가져오기
html = req.text
HTTP Header 가져오기
header = req.headers
HTTP Status 가져오기 (200: 정상)
status = req.status_code
HTTP가 정상적으로 되었는지 (True/False)
is_ok = req.ok
from urllib.request import Request
from urllib.request import urlopen
from bs4 import BeautifulSoup
import urllib.request
import re
import numpy as np
import time
import os
import random
import timeHttp GET Request
url = [쇼핑몰주소]
req = Request(url,headers={'User-Agent':'Mozila/5.0'})
webpage = urlopen(req)
soup = BeautifulSoup(webpage)
태그 이름과 속성 모두 특정
objects = soup.find('li',id='big_section')
obejcts.text 태그에 담긴 텍스트
print(objects.text)
objects.name 태그의 이름
print(objects.name)
objects.attrs 태그의 속성과 속성값
print(objects.attrs)
길이가 1이 되는지 확인 (유일성 확인)
len(soup.find_all('div',id='big_section'))
gif 이미지가 나와서, 이건 내가 원하는 정적 이미지가 아니다.
soup.find('div',id='bigsection').find_all('li',class='goods-form')[0].find('div',class_='prdimg').find('img')['src']
gif 이미지 말고 정적 이미지를 얻기 위해 해당 url 접속
souphref = soup.find('div',id='big_section').find_all('li',class='goods-form')[0].find('div',class_='prdimg').find('a')['href']
base_site = 'https://attrangs.co.kr/'
detail_site = base_site+soup_href # detail한 page url 획득
req = Request(detail_site,headers={'User-Agent':'Mozila/5.0'})
webpage = urlopen(req) # 새로운 detail_site 접속
soup = BeautifulSoup(webpage) # 데이터 파싱
print(len(soup.findall('div',id='detail'))) (유일성 확인)
soup.find('div',id='detail').find('div',id='mimg_div',class='img').find('img')['src']
목표
상품 이미지, 이름, 가격 데이터 수집
상품 이미지 10개만 수집
많은 도움 됐습니다.
좋은글 감사합니다😊