내일배움캠프(3주차 파이썬)

그냥차차·2022년 10월 18일
0

내일배움캠프

목록 보기
2/106
post-custom-banner

파이썬시작

파이썬 꼭 알아야할것들

오른쪽 버튼누르고 실행하기, 띄어쓰기가 아닌 tab으로 들여쓰기를 꼭해야함 안하면 오류, ;이게아닌 :를 사용

변수 명령어

a=5 b=6
print(a+b)
11
//
a_list=['사과','배','감']
print(a_list[1])
배
//
a_list=['사과','배','감']
a_list=append['수박']     /push가 아닌 append를 사용함 
print(a_list)
사과,배,감,수박
//
a_dict={
'name':'bob','age':27
}
print(a_dict['name'])
bob	

함수명령어

def sum(a,b):
	retrun a+b
result=(sum(1,2)
print(result)
3

조건문

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

반복문

fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']
for fruits in fruits:
	print(fruit)
사과 배 배 감 수박 귤 딸기 사과 배 수박
//
fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']
for fruits in fruits:
	if fruits == '배':    // 배라면
    	count += 1       //1을더해서
    print(count)         //print로 보여줘
3          // 배의 숫자를 세어주는것
//
people = [{'name': 'bob', 'age': 20}, 
          {'name': 'carry', 'age': 38},
          {'name': 'john', 'age': 7},
          {'name': 'smith', 'age': 17},
          {'name': 'ben', 'age': 27}]
for person in people:
	if person['age']>20: // 만약에 펄슨(그룹이름)에 age가 20보다 크다면 
    	print(person['name'])	//person의 name을 print 해라
    carry
    ben

파이썬 패키지 requests(라이브러리)설치

라이브러리라 파이썬 반복문이랑 다름???

import requests # requests 라이브러리 설치 필요
r = requests.get('http://spartacodingclub.shop/sparta_api/seoulair')
rjson = r.json()
rows = rjson['RealtimeCityAir']['row']
for row in rows:
    gu_name=row['MSRSTE_NM']
    gu_mise=row['IDEX_MVL']
    print(gu_name,gu_mise)
    //서울시 구와 미세먼지값이 print 됨
import requests # requests 라이브러리 설치 필요
r = requests.get('http://spartacodingclub.shop/sparta_api/seoulair')
rjson = r.json()
rows = rjson['RealtimeCityAir']['row']
for row in rows:
    gu_name=row['MSRSTE_NM']          //for문을 할때 
    gu_mise=row['IDEX_MVL']
    if gu_mise<60:
        print(gu_name)

웹스크래핑(크롤링)기초

크롤링링크

크롤링 기본세팅값(bs4=BeautifulSoup) <-이것도 라이브러리??

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')
print(soup)
//웹페이지 들어가서 '밥정'옆에두고 검사누른후 카피에서 카피셀럭터 클릭후
title=soup.select_one('#old_content > table > tbody > tr:nth-child(2) > td.title > div > a')        // 셀렉터 원은 하나만 나타낼때 쓰는것임
print(title.text)            //text 말고 href등 다양함
밥정
//
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')
title=soup.select_one('#old_content > table > tbody > tr:nth-child(2) > td.title > div > a')
print(title.text)
#old_content > table > tbody > tr:nth-child(3) > td.title > div > a
#old_content > table > tbody > tr:nth-child(4) > td.title > div > a
movies = soup.select('#old_content > table > tbody > tr') // 앞에 같은내용 넣고
for movie in movies:                                      //movie라고 하나 만들고
    a=movie.select_one('td.title > div > a')             // a라고 하나만들고 뒤에 같은내용 넣고
    if a is not None:                                    // None 즉 데이터 없는애들 빼고
        print(a.text)									//print 하겠다.

파이썬 매우 어려움.....연습 많이할것....

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')
title=soup.select_one('#old_content > table > tbody > tr:nth-child(2) > td.title > div > a')
print(title.text)
#old_content > table > tbody > tr:nth-child(3) > td.title > div > a   		//title 카피
#old_content > table > tbody > tr:nth-child(2) > td:nth-child(1) > img  	//rank 카피
#old_content > table > tbody > tr:nth-child(2) > td.point 					//star카피
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:
        title=a.text											//얘는왜 text고
        rank=movie.select_one('td:nth-child(1) > img')['alt']  // 얘는왜 []이고
        star=movie.select_one('td.point').text					//얘는왜 text고
        print(title,rank,star)
profile
개발작
post-custom-banner

0개의 댓글