본문 바로가기

전체 글

(49)
[나도코딩 파이썬 활용편 웹스크래핑(10)] 터미널에서 파이썬 실행하기 터미널에서 파이썬 바로 실행하기 interprenting 방식 ... 일일이 저장하지 않아도 터미널 내에서도 실행할 수 있다. 단, 터미널에서 실행하려면 입력한 코드를 불러오는건 아니고, 직접 터미널에 복사 붙여넣기해야한다. 종료하는 법은 exit() 입력하면 빠져나온다. 직접 작성한 코드 입력해보기 import requests from bs4 import BeautifulSoup url = "https://comic.naver.com/webtoon/list?titleId=790713" res = requests.get(url) #,headers=headers) res.raise_for_status() # 에러발생 시 종료되도록 soup = BeautifulSoup(res.text, "lxml") car..
[나도코딩 파이썬 활용편 웹스크래핑(9)] 상위 태그 class로 불러와서 하위 태그 내 text 입력하기. 상위 태그 클래스로 텍스트 가져오기 앞의 예시들에서 태그 아래있는 태그로 끌어오려다 실패했었는데.... 이번 예시는 상위태그의 class로 불러와서 하위 태그 내 text를 출력하는 예시이다. 위 페이지를 보면 라는 태그 내에 class = title이라는 속성이 있고 하위 a 태그 내에 각 화의 이름이 들어가있다. import requests부터 soup = BeautifulSoup(res.text, "lxml")까지는 거의 프레임이라고 생각해도 될 듯하다. (물론 url은 바꿔줘야함) 위에서 보면 cartoons = soup.find_all("td", attrs={"class"="title"})로 먼저 해당 class를 갖는 태그를 불러온 뒤 생성된 cartoons 라는 list에서 cartoons[..
[나도코딩 파이썬 활용편 웹스크래핑(8)] find_all()로 특정 속성(attr)을 갖는 모든 텍스트 가져오기(미완성/수정예정) find_all ... 특정 속성을 갖는 모든 텍스트 가져오기 네이버부동산에서는 아파트이름 텍스트를 어떻게 긁어오는지 잘 모르겠어서.. 네이버웹툰 그대로 해본다. 최근 네이버웹툰 사이트는 영상과 다르게 태그가 아닌 태그를 사용한다. 따라서 "a"가 아닌 "span"을 입력하고 from wsgiref import headers import requests from bs4 import BeautifulSoup url = "https://comic.naver.com/webtoon" res = requests.get(url) #,headers=headers) res.raise_for_status() # 에러발생 시 종료되도록 함 soup = BeautifulSoup(res.text, "lxml") webtoon..
[나도코딩 파이썬 활용편 웹스크래핑(7)] sibling(형제), parent(부모), 해당 태그와 텍스트를 갖는 코드 출력하기 리스트 다음 항목(sibling)으로 넘어가기 네이버부동산 페이지를 다시 한 번 보면, 첫 번째 이후에 2, 3, 4... 쭉 나열되어있다. 개발자도구에서도 보면, item_item_1, 2, 3... 이런식으로 되어있다. 이렇게 형제끼리 넘나들 수 있다. 근데 원래 예제를 보면... 바로 아래 가 있는 반면에 네이버 부동산은 형제태그들인 li 하위에 a 태그 클래스로 2, 3, 4 구분이 되어있어서 똑같이 할 수 있을지 모르지만 일단 해본다. 강의예시 먼저 강의에 나온 예시를 보면, 첫 번째 next_sibling에서는 공백이 출력되어서 두 번 입력했더니 두 번째 값이 출력되었다. 직접 해보기 rank1 = soup.find("a", attrs={"class":"item item_1"}) print(r..
[나도코딩 파이썬 활용편 웹스크래핑(6)] 홈페이지에서 리스트 불러오기, 하위태그 element 불러오기 (변수 정의할 때 print()함수까지 가져오지말기) 리스트 불러오기 먼저 강의 내용을 불러와본다. 웹툰 순위가 1번부터 10위까지 있고, li 태그 내의 class="rank01"부터 "rank10"까지 있다. 앞의 게시글에서 soup.find()로 출력한 방법 그대로 활용한다. "li"태그 내에서, attrs={"class":"rank01"}... 즉 class 속성(attribute)값이 rank01인 것을 찾는다. 개발자도구에서 본 것과 같이, 랭크 첫번째 만화의 text가 잘 출력된다. 응용버전 나는 네이버웹툰페이지가 안되므로 네이버부동산에서 따라해본다. 위에서 똑똑하게 집 구하기 리스트를 보고 개발자 도구에서 해당 내용을 찍어보면 class = "item item_1" ... 여기서도 class 이름에 1, 2, 3... 이런식으로 표시된다. p..
[나도코딩 파이썬 활용편 웹스크래핑(5)] beautifulSoup4 기본, lxml 설치 및 활용 (네이버웹툰페이지가 안되서 네이버부동산으로 대체) 읽기 전에 필독 네이버웹툰 페이지가 중간부터 적용이 안되어서 중간부터는 네이버부동산 페이지를 활용했다. beautifulsoup4 기본 pip install beautifulsoup4 pip install lxml ...구문을 분석하는 역할 두 패키지를 설치해준다. 네이버 웹툰페이지 가져오기 https://comic.naver.com/webtoon 네이버 웹툰 매일매일 새로운 재미, 네이버 웹툰. comic.naver.com 해당 url을 활용해 html.txt를 만들어본다. import requests from bs4 import BeautifulSoup url = "https://comic.naver.com/webtoon" res = requests.get(url) res.raise_for_statu..
[나도코딩 파이썬 활용편 웹스크래핑(4)] User agent User agent 예를 들면 pc화면, 모바일 화면이 다른 이유 user agent가 다르기 때문이다. 크롬이냐 웨일이냐 이런 브라우저 차이에 따라서도 user agent가 다르다. https://www.whatismybrowser.com/detect/what-is-my-user-agent/ What is my user agent? Every request your web browser makes includes your User Agent; find out what your browser is sending and what this identifies your system as. www.whatismybrowser.com user agent는 위 사이트에서 확인 가능하다. 위에서 복사한 User-Ag..
맥에서 파이썬 패키지 에러나는 경우 초간단 해결법 (설치아님, 잘 되다가 갑자기 에러나는 경우 무조건 이거임) https://spongeb0b.tistory.com/216 [Python3] 파이썬 패키지 설치 완료 후에 import 에러 발생할 경우 + could not be resolved Pylance 파이썬에서 원하는 패키지를 pip install을 통해 정상적으로 설치하였고, 성공적으로 설치하였다는 메시지도 확인했는데도 import 가 되지 않는 경우가 있다. 혹시 잘못됬나 싶어서 패키지를 지워도 spongeb0b.tistory.com 무슨 터미널을 로제타로 체크하라느니 sudo 어쩌고로 설치하라느니 별짓을 다해도 해결이 안되던 것을 이 포스팅 하나로 해결함... 파이썬 버전 여러개깔아논게 원흉이었음... 나도코딩 파이썬기초를 따라하다가 찾는 분들이 있을까봐 에러관련내용도 달아둠. 또 다른 맥 유저가 이틀..