카테고리 없음

[나도코딩 파이썬 활용편 웹스크래핑(11)] GET방식 POST방식, 쿠팡 예제 (광고필터링, 특정 점수/문자열 필터링하기)

코딩하는나 2023. 3. 6. 22:26
Get 방식 vs Post 방식

url이 계속 변경된다 = GET

url이 변경되지 않는다 = POST

 

POST 방식이 GET보다는 보안이 나은 편이다.

(ex 아이디, 로그인값이 url에 나타나지않음)

 

정규식 활용하기

지금 음영처리 된 부분은 광고부분이고

그 아래 li태그는 일반 물품이다.

 

class 명을 보면,

앞부분은 같고 뒷부분에

_ad-badge라고 추가되어있다.

 

따라서 앞에서 배운 정규식을 응용해서

공통 코드부분을 검색해 가져오도록 한다.

(search product 부분)

 

정규식을 사용하기 위해서

import re ...정규식 모듈 불러오기

 

또, class의 공통되는 부분을 검색하기 위해

{"class":re.compile("^search-product")}

 

 

url 불러오기가 안될 때, lxml대신 user agent!!

 

제품 정보 text 가져오기

 

내가 get_text()를 했을 때와 같은 오류이다.

 

이 예시에서는

평점이 없는 상품이 있었기에

저렇게 오류가 표시되었다.

 

일단은 정보를 다 가져오되

텍스트가 있는 경우에만 가져오도록 한다.

 

if rate

= 이렇게만 써도 rate가 none이 아닌 경우를 의미한다.

 

광고 제품 제외하기

span 태그에 ad-badge-text가 광고태그이다.

 

ad_badge 라는 변수를 만들어 

if ad_badge: ... ad_badge가 있으면

print 구문을 출력한 뒤

continue ... 계속 진행한다. 

 

평점 4.5 이상, 평점갯수 50개 이상 필터링하기

평점수는 (26)이렇게 표기가 되는데,

rate_cnt[1:-1] ... 이렇게 숫자만 가져올 수 있다.

앞에서 [0][1] ... 두번째

뒤에서 [-1][0]... 두번째

 

평점은 소수점이므로 float 형태로,

평점갯수는 int형으로 받아온다.

 

특정 문자열이 포함된 경우 제외

아래 코드들이 실행되기 전에

if문을 넣어서 

 

광고상품을 제외했던 것처럼

특정 구문을 print로 출력하고

continue를 해준다.