파이썬시작
파이썬 꼭 알아야할것들
오른쪽 버튼누르고 실행하기, 띄어쓰기가 아닌 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)