[크롤링] 1장 첫 번째 웹 스크래퍼 - 1. 연결

채린·2023년 9월 22일
0

브라우저로 정보를 가져오는 구조
ex) 밥의 데스크톱 컴퓨터 <-> 앨리스의 서버
1. 밥 컴퓨터가 비트스트림을 보냄
(헤더:밥의 라우터 MAC 주소, 최종목표인 앨리스의 IP주소 / 바디: 서버 애플리케이션에 요청하는 내용)
2. 밥의 라우터가 받아 MAC주소부터 서버 IP주소로 가는 패킷으로 해석. 밥 라우터의 고유 IP주소를 'from'주소로 기록. 인터넷에 패킷 보냄
3. 중간서버들을 거쳐 패킷 이동
4. 앨리스 서버가 IP주소에서 패킷 받음
5. 서버가 헤더의 패킷포트 목적지 정보를 읽고 웹 서버 애플리케이션에 보냄 (Port번호) 거의 80포트
6. 서버 프로세서에서 데이터 스트림 받음 (메소드,html이름 담김)
7. 웹 서버가 html찾고 새 패킷으로 묶어 자신의 라우터를 통해 밥 컴퓨터에 전송

웹브라우저는 패킷을 만들고보내고 해석해 표현하는 유용한 애플리케이션


# scrapetest.py
from urllib.request import urlopen  
html = urlopen('http:/pythonscraping.com/pages/page1.html')
print(html.read())

python3 scrapetest.py
=> http:/pythonscraping.com 서버의 /pages디렉토리의 html파일 하나를 읽어옴

urllib 표준 파이썬 라이브러리:
          웹을 통해 데이터 요청하는 함수, 쿠키 처리 함수, 헤더나 유저에이전트같은 메타데이터를 바꾸는 함수 등 포함
urlopen:
          네트워크를 통해 원격 객체를 읽음. html파일이나 이미지파일, 기타파일스트림을 쉽게 열수있는 매우 범용적인 함수

0개의 댓글