터미널: 컴퓨터를 제어하는 인터페이스.
원래 터미널을 이용해서 까는게 맞다.
import requests URL = 'http://www.tistory.com'
response = requests.get(URL)
response.status_code response.text
tistory주소로 get요청(request)를 보냈고
그 요청을 받아 뭔가를 처리한후
요청자인 나에게 respose(응답)을 줬다.
response200이라는 싸인은 ok사인읻다.
requests를 공부하다
갑자기 딴길로 샘. 근본을 찾기 시작함
이렇게 공부하다 갑자기
soup = BeautifulSoup(response.text, 'html.parser')
크롤링 할때 이 구문 왜쓰는지 이해가 안간다.
BeautifulSoup 함수는 BeautifulSoup(HTML 데이터, ‘파싱할 방법’)으로 쓰인다.
뷰티풀숩은 html, xml구문을 해석하기 위한 파이썬 패키지이다.라이브럴리
여기서는 response에 담긴 텍스트 데이터가 html이므로, 이 문서를 파싱하기 위해 html.parser를 사용하게 된 것이다.
크롤링 = 파싱=스크래핑= 스파이더링
뷰티풀숩과, 리퀘스츠 이용시 생으로 다운받게 된다면 컴퓨터 상에 충돌이 일어나
venv라는 가상환경을 만들어서 깔게 된다.
ide사용 IDE는 코딩, 디버그, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어이다
출처: https://crazykim2.tistory.com/457 [차근차근 개발일기+일상]
ide통합개발환경 : 코딩에 필요한 모든 환경
뷰티
from bs4 import BeautifulSoup // 라이브러리를 불러오는코드 bs4에서 뷰티풀숩을 불ㄹ온다는 뜻
shift+tab: 집어넣기
response = urlopen('https://en.wikipedia.org/wiki/Main_Page') //주소에 있는 url을 열어서 response라는 변수에 넣겠다.
soup = BeautifulSoup(response, 'html.parser') //뷰티풀숩에 리스폰스를 넣어주고, html parser로 해석하여 숩이라는 변수에 넣어준다.
for anchor in soup.find_all('a'):
print(anchor.get('href', '/')) // 반복문을 이용하여 숩 중에 모든 a태그를 찾아서 anchor에 넣는다. 반복문이므로
a를 하나씩 가져와서 a태그의 href를 가져와서 프린트해라.
이 기본코드들은 절대 외우는 것이 아니다.
공식문서에 들어가서 찾아서 가져오기
for anchor in soup.select("a.thumb"); // 원하는 링크를 넣엇으면 원하는 내용을 가져와야한다. 가져와야하는 목록들을
잘 살펴보고 공통점을 찾은뒤, 클래스가 thumb이면서 a태그를 가져와보겠다.
근데 알려준거와 다르게 셀렉터 카피를 하면 찾을 필요가 없다.
네이버 크롤링 드디어 성공...
셀레니움으로 해야한다.
셀레니움은 나중에 하자 귀찮다.ㅏ...
https://moondol-ai.tistory.com/238 //리퀘스트랑 url구별하기