웹개발종합 (5) -Python

윤보라·2022년 6월 23일
0

웹개발종합

목록 보기
6/12

파이썬 문법은 자바스크립트보다 쉽다!

<변수>
  a = 2
  b = 3

  print(a+b)  ---> 5


<자료형>

* 리스트 추가
a_list.append('추가할리스트')


a_dict = {
	'name' : 'bob',
    'age' : 27
    }
    
print(a_dict['name'])   ---> bob


<함수형>

def sum(a,b):
	print('더하자!')
	return a+b

result = sum(1,2)

print(result)   ---> 더하자!
						3
                        

<조건문>

def is_adult(age):
	if age > 20:
    	print('성인입니다')
    else:
    	print('청소년입니다')
        
 is_adult(15)  ---> 청소년입니다
        

( 리스트 예제)

fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']

count = 0
for aaa in fruits:
    if aaa == '사과':
        count +=1

print(count)   ---> 2

(딕셔너리 예제)

people = [{'name': 'bob', 'age': 20},
{'name': 'carry', 'age': 38},
{'name': 'john', 'age': 7},
{'name': 'smith', 'age': 17},
{'name': 'ben', 'age': 27}]



for ppp in people:
    if ppp['age'] > 20:
        print(ppp['name'])  ---> carry
        						 ben

< 웹사이트 크롤링하기 >

가상 환경(virtual environment) 이란? : 라이브러리를 모아두는 곳!

<기본 골격>
import requests
from bs4 import BeautifulSoup

headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get('https://movie.naver.com/movie/sdb/rank/rmovie.naver?sel=pnt&date=20210829',headers=headers)

soup = BeautifulSoup(data.text, 'html.parser')

# 코딩 시작



<뷰티풀숲 (크롤링패키지) 쓰는방법>  -- 파이썬 문법 아님 주의!!!!!!


- 하나 셀렉트하는 경우 -

1. 페이지에서 찾고싶은 것에 커서 올려서 검사
2. 해당부분 코드 카피(복사)-카피셀렉터(셀렉터 복사)
3. title = soup.select_one('이곳에붙여넣기')

이상태로 print(title) 하면 -->
<a href="/movie/bi/mi/basic.naver?code=186114" title="밥정">밥정</a>
(태그)나옴

print(title.text)하면
밥정
(텍스트)나옴

print(title['href'])하면
/movie/bi/mi/basic.naver?code=186114
(주소창)나옴



- 여러 개 셀렉트하는 경우

1. 페이지에서 찾고싶은 것에 커서 올려서 검사
2. 복사-셀렉터 복사해서 붙여넣기
#old_content > table > tbody > tr:nth-child(3) > td.title > div > a
#old_content > table > tbody > tr:nth-child(4) > td.title > div > a

3. 붙여넣기해서 똑같이 반복되는 같은부분까지만 복사해서
movies = soup.select('이곳에붙여넣기')

movies = soup.select('old_content > table > tbody > tr')

4.그다음 for 문으로 이 movies에서 가져오기
movies = soup.select('old_content > table > tbody > tr')
for movie in movies:
    a = movie.select_one('td.title > div > a')
여기서 print(a)해보면 
<a href="/movie/bi/mi/basic.naver?code=186114" title="밥정">밥정</a>
와 같은 리스트가 나오는데, None이 포함되어있음(실제 페이지에서 빈 줄 같은것)

5. 이걸 빼주기 위해서 if문 사용
movies = soup.select('old_content > table > tbody > tr')
for movie in movies:
    a = movie.select_one('td.title > div > a')
    if a is not None:
    	print(a)
하면 None이 사라진 목록 볼 수 있음
		print(a.text)하면
        영화제목들(텍스트)만 볼 수 있음

profile
Front-End 개발자

0개의 댓글