본문 바로가기
기초/웹 개발 왕초보 입문

3주차_서버 만들기3

by Hyeon_E 2022. 12. 21.

파이썬 패키지 관리 방법

프로젝트를 하다 보면 패키지 버전이 맞지 않아 문제가 생길 수 있음

내가 원하는 패키지를 내가 원하는 프로젝트 단위로 설치할 뿐만 아니라 활성화 할 수 있도록 함

즉 원하는 패키지를 프로젝트 별로 관리할수 있음

python -m venv venv

venv폴더 가상공간 즉 가상환경을 만듬

.\venv\Scripts\activate.bat

가상환경 활성화

활성화되면 (venv) C:\User···하고 앞에 (venv)가 붙음

pip install 원하는패키지

원하는 패키지 다운

venv폴더 안에 Lib폴더 안을 살펴보면 원하는 패키지가 생긴것을 볼 수 있음

.\venv\Scripts\deactivate.bat

가상환경 비활성화

앞에 (venv)가 사라짐


웹 스크래핑 selector에 대한 이해

#bestList > ol > li.num" + idx + " > p:nth-child(3) > a

예시

#: jQuery를 이용해서 태그를 가리키는 문자. id속성을 가리키는 문자

>: 아래라는 뜻. 바로 아래있는 것만 찾기 때문에 자식태그. ex) bestList 아래에 ol 

li.num: li태그면서 클래스 속성이 num

p: nth-child: p태그 중 3번째

a: a태그

crawl2.py
0.00MB

    link = ts.attrs.get('href')

결과

attrs라는 변수를 이용해서 href를 가져오겠다는 뜻

attrs: 태그의 속성을 지정하는 것. 딕셔너리 유형

    res2 = requests.get('https://www.yes24.com' + link)
    soup2 = BeautifulSoup(res2.text, 'html.parser')

앞서 받아온 링크에 앞주소가 없으니 추가해서 주소에 있는 데이터를 다운받아 변수 res2에 넣음

변수 soup2에 HTML코드로 되어있는 데이터를 분석한 결과를 넣음

sp = soup2.select_one('#yDetailTopWrap > div.topColRgt > div.gd_infoTop > span.gd_ratingArea > span.gd_sellNum ')

 

결과

sp에 원하는 데이터 추출

결과에 원하지 않는 값이 같이 들어가 있기 때문에 불필요한 문자열을 소거함

    idx = sp.text.find('판매')

sp안에 있는 데이터 문자열에 '판매'를 찾아 위치를 찾음

- 불필요한 문자열을 삭제할때는 find함수를 이용하여 위치를 구하고, 슬라이싱을 활용할 수 있음

point = sp.text[idx+5:]

[]을 이용해서 :을 써 문자열의 일부를 가리킬 수 있음. :은 문자열 앞에도 붙일수 있고 뒤에도 붙일 수 있음

즉 idx에는 '판매'라는 위치가 들어있음으로 판매라는 위치에서 5개를 더한 위치부터 끝까지 문자를 짤라달라는 뜻

    idx = point.find('판매')
    point = sp.text[:idx-1]

'판매' 위치를 찾음

앞에서부터 '판매'라는 위치 앞 부분까지 짜름

결과

원하는 결과를 확인할 수 있음

'기초 > 웹 개발 왕초보 입문' 카테고리의 다른 글

3주차_서버 만들기2  (0) 2022.12.19
3주차_서버 만들기  (0) 2022.11.30
2주차_서버와 통신하기 3  (0) 2022.11.30
2주차_서버와 통신하기 2  (0) 2022.11.30
2주차_서버와 통신하기  (0) 2022.11.28

댓글