>백엔드 개발 >파이썬 튜토리얼 >Python\의 '요청' 라이브러리를 사용하여 여러 웹 페이지에서 콘텐츠를 비동기적으로 검색하려면 어떻게 해야 합니까?

Python\의 '요청' 라이브러리를 사용하여 여러 웹 페이지에서 콘텐츠를 비동기적으로 검색하려면 어떻게 해야 합니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-08 22:24:13562검색

How Can I Asynchronously Retrieve Content from Multiple Web Pages Using Python's `requests` Library?

Python 요청을 사용한 비동기 요청: 여러 페이지에서 콘텐츠 검색

Python 요청 라이브러리를 사용하면 HTTP 요청의 비동기 처리가 가능합니다. 문서에 제공된 샘플은 응답 코드 검색을 보여주지만 이 문서에서는 요청된 각 페이지의 콘텐츠를 검색하는 방법을 살펴봅니다.

이를 수행하려면 작업을 다음 단계로 나누어야 합니다.

  1. 작업 함수 정의: 각 응답 객체에 대해 수행할 원하는 작업을 정의하는 Python 함수를 만듭니다. 이 함수에는 일반적으로 원하는 콘텐츠를 추출하는 코드가 포함됩니다.
  2. 이벤트 후크 추가: 작업 함수를 이벤트 후크로 추가하여 각 요청과 연결합니다. 이렇게 하면 요청이 완료될 때 응답 개체와 함께 함수가 자동으로 호출됩니다.
  3. 비동기 처리 시작: 이벤트 후크를 정의하고 연결한 후 처리할 모든 요청 목록을 생성합니다. 비동기적으로. 그런 다음 이 목록에서 async.map 메소드를 호출하십시오.

예제 코드:

from requests import async

urls = [
    'http://python-requests.org',
    'http://httpbin.org',
    'http://python-guide.org',
    'http://kennethreitz.com'
]

# Task function to extract page content
def extract_content(response):
    return response.content

# List to hold asynchronous actions
async_list = []

# Create requests with event hooks
for u in urls:
    action_item = async.get(u, hooks={'response': extract_content})
    async_list.append(action_item)

# Initiate asynchronous processing
async.map(async_list)

# Print the extracted content
for item in async_list:
    print(item.content)

다음 단계를 따르고 제공된 코드 예제를 사용하여, Python 요청 라이브러리를 사용하면 여러 페이지의 콘텐츠를 비동기적으로 성공적으로 검색할 수 있습니다.

위 내용은 Python\의 '요청' 라이브러리를 사용하여 여러 웹 페이지에서 콘텐츠를 비동기적으로 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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