Python에서 웹 데이터를 스크랩하는 작업에는 일반적으로 대상 웹 사이트에 HTTP 요청을 보내고 반환된 HTML 또는 JSON 데이터를 구문 분석하는 작업이 포함됩니다. 다음은 요청 라이브러리를 사용하여 HTTP 요청을 보내고 BeautifulSouplibrary를 사용하여 HTML을 구문 분석하는 간단한 웹 스크래핑 애플리케이션의 예입니다.
먼저 요청 및 beautifulsoup4 라이브러리를 설치했는지 확인하세요. 그렇지 않은 경우 다음 명령을 사용하여 설치할 수 있습니다:
pip 설치 요청 beautifulsoup4
그런 다음 다음과 같은 Python 스크립트를 작성하여 네트워크 데이터를 스크랩할 수 있습니다.
import requests from bs4 import BeautifulSoup # URL of the target website url = 'http://example.com' # Sending HTTP GET request response = requests.get(url) # Check if the request was successful if response.status_code == 200: # Parsing HTML with BeautifulSoup soup = BeautifulSoup(response.text, 'html.parser') # Extract the required data, for example, extract all the titles titles = soup.find_all('h1') # Print title for title in titles: print(title.text) else: print('Request failed,status code:', response.status_code)
이 예에서는 먼저 요청과 BeautifulSoup 라이브러리를 가져왔습니다. 그런 다음 대상 웹사이트의 URL을 정의하고 request.get() 메서드를 사용하여 HTTP GET 요청을 보냈습니다. 요청이 성공하면(상태 코드 200) BeautifulSoup을 사용하여 반환된 HTML을 구문 분석하고 일반적으로 페이지의 기본 제목이 포함된 모든
실제 웹 스크래핑 프로젝트에서는 대상 웹사이트의 robots.txt 파일 규칙을 준수하고 해당 웹사이트의 저작권 및 이용약관을 존중해야 한다는 점에 유의하시기 바랍니다. 또한 일부 웹사이트에서는 동적으로 콘텐츠 로드, 보안 문자 확인 등과 같은 크롤러 방지 기술을 사용할 수 있으며, 이를 위해서는 더 복잡한 처리 전략이 필요할 수 있습니다.
프록시를 사용하여 웹사이트를 크롤링하는 것은 IP 제한 및 크롤링 방지 메커니즘을 우회하는 일반적인 방법입니다. 프록시 서버는 중개자 역할을 하여 귀하의 요청을 대상 웹사이트로 전달하고 응답을 반환하므로 대상 웹사이트는 귀하의 실제 IP 주소 대신 프록시 서버의 IP 주소만 볼 수 있습니다.
Python에서는 요청 라이브러리를 사용하여 프록시를 설정할 수 있습니다. 다음은 프록시를 사용하여 HTTP 요청을 보내는 방법을 보여주는 간단한 예입니다.
import requests # The IP address and port provided by swiftproxy proxy = { 'http': 'http://45.58.136.104:14123', 'https': 'http://119.28.12.192:23529', } # URL of the target website url = 'http://example.com' # Sending requests using a proxy response = requests.get(url, proxies=proxy) # Check if the request was successful if response.status_code == 200: print('Request successful, response content:', response.text) else: print('Request failed,status code:', response.status_code)
프록시 서버 IP와 포트를 실제 프록시 서버 주소로 바꿔야 합니다. 또한 프록시 서버가 안정적이고 크롤링하려는 웹사이트를 지원하는지 확인하세요. 일부 웹사이트에서는 알려진 프록시 서버의 요청을 감지하고 차단할 수 있으므로 정기적으로 프록시 서버를 변경하거나 고급 프록시 서비스를 사용해야 할 수도 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3