본문 바로가기

python

(197)
Python 수강 노트 4 - 아나콘다 설치- C:/사용자/계정/내 문서에 소스 파일 붙이기- 주피터 노트북 실행- 크롬 브라우저 실행됨(주피터 노트북 커맨드 종료하면 안됨)- 워크스페이스 공간은 내 문서로 지정된다.- 5장 폴더 - cho5_px- rename - 파일 이름 변경 후 중간중간 file - save and chkpoint(ctrl + s)- def - 책자 89 ~-int a, b:a = 1b = 2 int add(c, d){e = c + d;retrun e;} int main(){print('%d', add(a, b)}- 람다에 해석은 뒤에서부터 앞으로 해석한다.- 클래스 : 객체지향적인 특징 따로따로 완성품을 모아 또 다른 완성품을 만드는 것.- 서로 연관 있는 변수들과 함수들을 이쁘게 묶어두..
190224> Python-NaverNews 사용자 입력 받아 크롤링 Q.사용자에게 입력 받아 네이버 뉴스를 크롤링해보자. A.import requests from bs4 import BeautifulSoup as BS def list2dict(keywords): keys = {} for keyword in keywords: keys[keyword]=0 return keys date = input("언제[YYYYmmdd] 기사를 검색할까요? : ") pages = int(input("총 몇 페이지를[20/page]를 검색할까요? : ")) keywords = input("관심있는 단어를 띄어쓰기로 입력하세요 : ").split() keys = list2dict(keywords) number = 1 news= [] for page in range(1, pages + 1): ..
190224> Python-NaverNews 사진 + 뉴스 제목 + 요약 + 제공자 크롤링 Q. 네이버 뉴스 중 속보에 해당하는 사진 + 뉴스 제목 + 요약 + 제공자를 크롤링 해보자. A.import requests from bs4 import BeautifulSoup r = requests.get("https://news.naver.com/main/list.nhn?mode=LSD&mid=sec&sid1=100") c = r.content soup = BeautifulSoup(c, "html.parser") all=soup.find("ul",{"class":"type06_headline"}) # print(all) all2 = all.find_all(."li") # print(all2[0]) for item in all2: try: img = item.find("dt",{"class":"ph..
190224> Python-Naver News 크롤링 Q. 네이버 메뉴 중 색칠 칠한 뉴스란을 크롤링해보자. A.import urllib.request import bs4 url = "https://www.naver.com/" html = urllib.request.urlopen(url) bs_obj = bs4.BeautifulSoup(html, "html.parser") ul = bs_obj.find("ol", {"class":"ca_l"}) lis = ul.findAll("li") for li in lis: a = li.find("a") O.소식통 "김정은 전용열차, 톈진역 통과해 남행 관측"北美 하노이 의제협상팀, 정상회담 'D-3' 맞아 '숨고르기'4대강 보 해체 논란…"900억 들여 해체?"vs"유지비 1천700억""'환경부 블랙리스트' 보은성 인..
190224> Python-Naver Menu 크롤링 Q. Q-1. 메일 / 카페 / 블로그 / 지식in / 쇼핑 / 네이버페이 / 네이버티비Q-2. 사전 / 뉴스 / 증권 / 부동산 / 지도 / 영화 / 뮤직 / 책 / 웹툰네이버 상기 메뉴를 크롤링 해보자. A.A-1.import urllib.request import bs4 url = "https://www.naver.com/" html = urllib.request.urlopen(url) bs_obj = bs4.BeautifulSoup(html, "html.parser") ul = bs_obj.find("ul", {"class":"an_l"}) lis = ul.findAll("li") for li in lis: a_tag = li.find("a") span = a_tag.find("span",{"cl..
190224> Jupyter Notebook으로 확인하는 BeautifulSoup In [32]: #-*- coding: utf-8 -*- from bs4 import BeautifulSoup as bs In [33]: html_doc = """ 초콜릿 과자 사탕 오렌지 """ In [34]: # html 파서를 이용해서 html 형태의 데이터를 읽어온다. soup = bs(html_doc, 'html.parser') In [35]: # 1. td 태그를 모두 찾아서 td_list 담은 후, 루프를 돌리면서 각 td 태그 내용을 출력한다. td_list = soup.find_all('td') In [36]: for td_item in td_list: print(td_item.string) 사탕 오렌지 In [37]: # 2. id 가 choco 인 항목을 찾아서 해당 태그 내용을 출력..
190217> Python 정규표현식 연습 import re data = """ park 800905-1049118 kim 700905-1059119 """ pat = re.compile('(\d{6})[-]\d{7}') # 숫자 6자리 - 숫자 7자리 # print(pat.sub('\g', data)) # 0은 전체를 의미 # print(pat.sub('\g', data)) # 1은 \d{6} # print(pat.sub('\g', data)) # 2는 \d{7} print(pat.sub('\g-*******', data)) # 뒷자리를 *로 마킹 import re s = 'Apple is a big company and apple is very delicious.' c = re.compile('apple') result = c.findall(..
190224> Python-M.NET 차트 순위 crawling Q.엠넷 차트 순위를 크롤링 하여 목록화 / 이미지를 다운받자. A.import bs4 import requests def save_image(img_url, date, rank, title, artist): response = requests.get(img_url) content = response.content filename = "{}\\{:03}_{}_{}.jpeg".format(date, rank, title, artist) file = open(filename,"wb") file.write(content) date = input("검색할 날짜[YYYYmmdd]를 입력하세요 : ") pages = int(input("총 몇 페이지를[50/page]를 크롤링할까요 : ")) charts = [] ..