파이썬 문법은 자바스크립트보다 쉽다!
<변수>
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)하면
영화제목들(텍스트)만 볼 수 있음