목차
1. 웹 크롤러란 무엇인가요?
웹 크롤러가 필요한 이유
웹 크롤러 적용
2. 네트워크 전송 프로토콜 HTTP
3. 요청 라이브러리(이론적 지식을 좋아하지 않는 학생은 올 수 있음) 여기에서 직접)
1 요청 라이브러리 설치
2. 우리는 공식적으로 웹페이지 크롤링을 시작합니다
백엔드 개발 파이썬 튜토리얼 Python 웹 크롤러 요청 라이브러리를 사용하는 방법

Python 웹 크롤러 요청 라이브러리를 사용하는 방법

May 15, 2023 am 10:34 AM
python requests

1. 웹 크롤러란 무엇인가요?

간단히 말하면 인터넷에서 데이터를 자동으로 다운로드하고 구문 분석하고 정리하는 프로그램을 만드는 것입니다.

웹을 검색할 때와 마찬가지로 다음번에 쉽게 읽고 탐색할 수 있도록 관심 있는 콘텐츠를 노트북에 복사하여 붙여넣습니다. 웹 크롤러는 이러한 콘텐츠를 자동으로 완료하는 데 도움이 됩니다

물론, 어떤 콘텐츠가 발견되면 복사하여 붙여넣을 수 없는 웹사이트 - 웹 크롤러는 더욱 강력한 성능을 발휘할 수 있습니다.

웹 크롤러가 필요한 이유

데이터 분석이 필요한 경우 - 이 데이터는 웹 페이지에 여러 번 저장되므로 수동 다운로드에도 시간이 걸립니다. 이때 이 데이터를 자동으로 크롤링하는 데 도움이 되는 웹 크롤러가 필요합니다(물론 웹 페이지에서 쓸모없는 것들을 필터링합니다)

웹 크롤러 적용

네트워크 액세스 및 수집 데이터는 광범위합니다. 다양한 응용 프로그램 중 다수가 데이터 과학 분야에 속합니다. 다음 예를 살펴보겠습니다.

Taobao 판매자는 고객의 마음을 더욱 사로잡을 수 있도록 대규모 리뷰에서 유용한 긍정적인 정보와 부정적인 정보를 찾아야 합니다. , 고객의 쇼핑 심리를 분석합니다. 일부 학자들은 트위터, 웨이보 및 기타 소셜 미디어에서 정보를 수집하여 데이터 세트를 구축함으로써 우울증과 자살 충동을 식별하는 예측 모델을 구축하여 더 많은 사람들이 도움을 받을 수 있도록 했습니다. 또한 개인 정보 보호 관련 문제도 고려해야 합니다. 하지만 그래도 괜찮지 않습니까?

인공지능 엔지니어로서 Ins에서 자원봉사자의 선호도 사진을 크롤링하여 딥러닝 모델을 훈련하여 주어진 이미지가 자원봉사자가 좋아할 것인지 예측합니다. - 휴대전화 제조업체 이 모델을 사진 앱에 통합하여 푸시 당신에게. 전자상거래 플랫폼의 데이터 과학자들은 사용자가 검색한 상품의 정보를 크롤링하고 분석 및 예측을 수행하여 사용자가 가장 알고 싶어하고 구매하고 싶은 상품을 푸시합니다

예! 웹 크롤러는 고화질 배경화면과 사진을 매일 일괄 크롤링하는 것부터 인공지능, 딥러닝, 비즈니스 전략 수립을 위한 데이터 소스까지 폭넓게 사용되고 있습니다.

이 시대는 데이터의 시대, 데이터는 "새로운 석유"입니다.

2. 네트워크 전송 프로토콜 HTTP

네, 웹 크롤러라면 피할 수 없는 것이 바로 HTTP입니다. 네트워크 엔지니어만큼 자세하게 설명할 필요는 없지만 프로토콜 정의의 모든 측면을 이해할 필요는 있지만, 소개로서 여전히 어느 정도 이해해야 합니다.

국제 표준화 기구 ISO는 개방형 통신 시스템 상호 연결 참조 모델 OSI를 유지하고 있으며, 이 모델은 컴퓨터 통신 구조를 7개의 레이어로 나눕니다.

  1. 물리적 레이어: 이더넷 프로토콜, USB 프로토콜, 블루투스 프로토콜 등 포함

  2. 데이터 링크 레이어: 이더넷 프로토콜 포함

  3. 네트워크 레이어: IP 프로토콜 포함

  4. 전송 레이어: TCP, UDP 프로토콜 포함

  5. 세션 레이어: 세션 열기/닫기 및 관리를 위한 프로토콜 포함

  6. 프레젠테이션 레이어: 형식 보호 및 데이터 변환을 위한 프로토콜 포함

  7. 애플리케이션 레이어: HTTP 및 DNS 네트워크 서비스 프로토콜이 포함되어 있습니다.

이제 HTTP 요청과 응답이 어떤 것인지 살펴보겠습니다(사용자 정의 요청 헤더가 나중에 포함될 것이기 때문입니다). 일반 요청 메시지는 다음 내용으로 구성됩니다.

  • 요청 line

  • 여러 요청 헤더

  • 빈 줄

  • 선택 메시지 본문

특정 요청 메시지:

GET https://www.baidu.com/?tn=80035161_1_dg HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-Hans-CN,zh-Hans;q=0.8,en-GB;q=0.5,en;q=0.3
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362
Accept-Encoding: gzip, deflate, br
Host: www.baidu.com
Connection: Keep-Alive
로그인 후 복사

바이두 접속 시 요청입니다. 물론 알 필요는 없습니다. Python의 요청 패키지가 크롤링을 완료하는 데 도움이 되기 때문에 내부에 많은 세부 정보가 있습니다.

물론 요청에 대해 웹페이지에서 반환된 정보도 볼 수 있습니다.

HTTP/1.1 200 OK //这边的状态码为200表示我们的请求成功
Bdpagetype: 2
Cache-Control: private
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html;charset=utf-8
Date: Sun, 09 Aug 2020 02:57:00 GMT
Expires: Sun, 09 Aug 2020 02:56:59 GMT
X-Ua-Compatible: IE=Edge,chrome=1
Transfer-Encoding: chunked
로그인 후 복사

3. 요청 라이브러리(이론적 지식을 좋아하지 않는 학생은 올 수 있음) 여기에서 직접)

우리는 Python이 실제로 사전에 있다는 것을 알고 있습니다. HTTP를 처리하기 위한 다른 라이브러리(urllib 및 urllib3)가 있지만 요청 라이브러리가 배우기 더 쉽습니다. 코드가 더 간단하고 이해하기 쉽습니다. 물론 웹 페이지를 성공적으로 크롤링하고 관심 있는 항목을 추출하면 매우 유용한 또 다른 라이브러리인 Beautiful Soup에 대해 언급하겠습니다. 이것은 나중에 이야기입니다

1 요청 라이브러리 설치

여기서 이야기하겠습니다. 설치 요청의 .whl 파일을 직접 찾거나 pip를 사용하여 직접 설치할 수 있습니다(물론 pycharm이 있는 경우 내부 환경 로더에서 직접 다운로드할 수 있습니다)

2. 우리는 공식적으로 웹페이지 크롤링을 시작합니다

코드는 다음과 같습니다:

import requests
target = 'https://www.baidu.com/'
get_url = requests.get(url=target)
print(get_url.status_code)
print(get_url.text)
로그인 후 복사

출력 결과

200 //返回状态码200表示请求成功
<!DOCTYPE html>//这里删除了很多内容,实际上输出的网页信息比这要多得多
<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;
charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge>
<meta content=always name=referrer>
<link rel=stylesheet type=text/css 
src=//www.baidu.com/img/gs.gif> 
</p> </div> </div> </div> </body> </html>
로그인 후 복사

위의 다섯 줄의 코드는 이미 웹페이지의 모든 HTML 콘텐츠를 크롤링할 수 있습니다

첫 번째 줄 코드: 요청 라이브러리 로드 두 번째 코드 줄: 크롤링해야 하는 웹사이트 제공 세 번째 코드 줄: 요청을 사용하여 요청을 작성합니다.

对象 = requests.get(url=你想要爬取的网站地址)
로그인 후 복사

네 번째 코드 줄: 요청의 상태 코드를 반환합니다. 코드의 다섯 번째 줄: 해당 콘텐츠 본문을 출력합니다

물론 더 많은 콘텐츠를 인쇄할 수도 있습니다

import requests

target = &#39;https://www.baidu.com/&#39;
get_url = requests.get(url=target)
# print(get_url.status_code)
# print(get_url.text)
print(get_url.reason)//返回状态
print(get_url.headers)
//返回HTTP响应中包含的服务器头的内容(和上面展示的内容差不多)
print(get_url.request)
print(get_url.request.headers)//返回请求中头的内容
로그인 후 복사
OK
{&#39;Cache-Control&#39;: &#39;private, no-cache, no-store, proxy-revalidate, no-transform&#39;, 
&#39;Connection&#39;: &#39;keep-alive&#39;, 
&#39;Content-Encoding&#39;: &#39;gzip&#39;, 
&#39;Content-Type&#39;: &#39;text/html&#39;, 
&#39;Date&#39;: &#39;Sun, 09 Aug 2020 04:14:22 GMT&#39;,
&#39;Last-Modified&#39;: &#39;Mon, 23 Jan 2017 13:23:55 GMT&#39;, 
&#39;Pragma&#39;: &#39;no-cache&#39;, 
&#39;Server&#39;: &#39;bfe/1.0.8.18&#39;, 
&#39;Set-Cookie&#39;: &#39;BDORZ=27315; max-age=86400; domain=.baidu.com; path=/&#39;, &#39;Transfer-Encoding&#39;: &#39;chunked&#39;}
<PreparedRequest [GET]>
{&#39;User-Agent&#39;: &#39;python-requests/2.22.0&#39;, 
&#39;Accept-Encoding&#39;: &#39;gzip, deflate&#39;, 
&#39;Accept&#39;: &#39;*/*&#39;, 
&#39;Connection&#39;: &#39;keep-alive&#39;}
로그인 후 복사

위 내용은 Python 웹 크롤러 요청 라이브러리를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP와 Python : 다른 패러다임이 설명되었습니다 PHP와 Python : 다른 패러다임이 설명되었습니다 Apr 18, 2025 am 12:26 AM

PHP는 주로 절차 적 프로그래밍이지만 객체 지향 프로그래밍 (OOP)도 지원합니다. Python은 OOP, 기능 및 절차 프로그래밍을 포함한 다양한 패러다임을 지원합니다. PHP는 웹 개발에 적합하며 Python은 데이터 분석 및 기계 학습과 같은 다양한 응용 프로그램에 적합합니다.

PHP와 Python 중에서 선택 : 가이드 PHP와 Python 중에서 선택 : 가이드 Apr 18, 2025 am 12:24 AM

PHP는 웹 개발 및 빠른 프로토 타이핑에 적합하며 Python은 데이터 과학 및 기계 학습에 적합합니다. 1.PHP는 간단한 구문과 함께 동적 웹 개발에 사용되며 빠른 개발에 적합합니다. 2. Python은 간결한 구문을 가지고 있으며 여러 분야에 적합하며 강력한 라이브러리 생태계가 있습니다.

PHP와 Python : 그들의 역사에 깊은 다이빙 PHP와 Python : 그들의 역사에 깊은 다이빙 Apr 18, 2025 am 12:25 AM

PHP는 1994 년에 시작되었으며 Rasmuslerdorf에 의해 개발되었습니다. 원래 웹 사이트 방문자를 추적하는 데 사용되었으며 점차 서버 측 스크립팅 언어로 진화했으며 웹 개발에 널리 사용되었습니다. Python은 1980 년대 후반 Guidovan Rossum에 의해 개발되었으며 1991 년에 처음 출시되었습니다. 코드 가독성과 단순성을 강조하며 과학 컴퓨팅, 데이터 분석 및 기타 분야에 적합합니다.

Python vs. JavaScript : 학습 곡선 및 사용 편의성 Python vs. JavaScript : 학습 곡선 및 사용 편의성 Apr 16, 2025 am 12:12 AM

Python은 부드러운 학습 곡선과 간결한 구문으로 초보자에게 더 적합합니다. JavaScript는 가파른 학습 곡선과 유연한 구문으로 프론트 엔드 개발에 적합합니다. 1. Python Syntax는 직관적이며 데이터 과학 및 백엔드 개발에 적합합니다. 2. JavaScript는 유연하며 프론트 엔드 및 서버 측 프로그래밍에서 널리 사용됩니다.

숭고한 코드 파이썬을 실행하는 방법 숭고한 코드 파이썬을 실행하는 방법 Apr 16, 2025 am 08:48 AM

Sublime 텍스트로 Python 코드를 실행하려면 먼저 Python 플러그인을 설치 한 다음 .py 파일을 작성하고 코드를 작성한 다음 CTRL B를 눌러 코드를 실행하면 콘솔에 출력이 표시됩니다.

vscode에서 코드를 작성하는 위치 vscode에서 코드를 작성하는 위치 Apr 15, 2025 pm 09:54 PM

Visual Studio Code (VSCODE)에서 코드를 작성하는 것은 간단하고 사용하기 쉽습니다. vscode를 설치하고, 프로젝트를 만들고, 언어를 선택하고, 파일을 만들고, 코드를 작성하고, 저장하고 실행합니다. VSCODE의 장점에는 크로스 플랫폼, 무료 및 오픈 소스, 강력한 기능, 풍부한 확장 및 경량 및 빠른가 포함됩니다.

Python에서 비주얼 스튜디오 코드를 사용할 수 있습니다 Python에서 비주얼 스튜디오 코드를 사용할 수 있습니다 Apr 15, 2025 pm 08:18 PM

VS 코드는 파이썬을 작성하는 데 사용될 수 있으며 파이썬 애플리케이션을 개발하기에 이상적인 도구가되는 많은 기능을 제공합니다. 사용자는 다음을 수행 할 수 있습니다. Python 확장 기능을 설치하여 코드 완료, 구문 강조 및 디버깅과 같은 기능을 얻습니다. 디버거를 사용하여 코드를 단계별로 추적하고 오류를 찾아 수정하십시오. 버전 제어를 위해 git을 통합합니다. 코드 서식 도구를 사용하여 코드 일관성을 유지하십시오. 라인 도구를 사용하여 잠재적 인 문제를 미리 발견하십시오.

메모장으로 파이썬을 실행하는 방법 메모장으로 파이썬을 실행하는 방법 Apr 16, 2025 pm 07:33 PM

메모장에서 Python 코드를 실행하려면 Python 실행 파일 및 NPPEXEC 플러그인을 설치해야합니다. Python을 설치하고 경로를 추가 한 후 nppexec 플러그인의 명령 "Python"및 매개 변수 "{current_directory} {file_name}"을 구성하여 Notepad의 단축키 "F6"을 통해 Python 코드를 실행하십시오.

See all articles