Python에서 웹 스크래핑 시작하기

4838 단어 pythonbeginners
웹 스크래핑은 온라인에서 데이터를 수집하는 인기 있는 방법 중 하나입니다. 공개적으로 사용 가능한 데이터가 데이터 액세스를 위한 API를 제공하지 않는 경우 웹 스크래핑을 사용하여 데이터를 수집하고 분석할 수 있습니다. 이번 글에서는 샘플 웹사이트에서 웹 스크래핑을 해보며 기초를 배워보도록 하겠습니다.

웹 스크래핑과 관련된 단계


  • 정보가 필요한 대상 웹 사이트 식별
  • 웹 사이트에 GET 요청 보내기
  • 웹 사이트에서 응답으로 HTML 페이지 수신
  • HTML 문서를 구문 분석하여 원하는 데이터가 포함된 HTML 요소를 식별합니다
  • .
  • 데이터가 포함된 HTML 요소를 추출합니다
  • .
  • 원하는 텍스트만 포함하도록 HTML 요소를 정리합니다
  • .
  • 원하는 텍스트를 추출하여 나중에 사용할 수 있도록 저장합니다
  • .



    웹 스크래핑에 사용되는 라이브러리



    아래 라이브러리는 샘플 웹 스크래핑에 사용됩니다. Python 프로젝트의 가상 환경에 설치합니다.

    # used to perform GET request
    pip install requests
    # used to parse HTML
    pip install lxml
    # used to process html content and get the desired data
    pip install beautifulsoup4
    


    샘플 스크래핑



    우리는 스크래핑을 시도하기 위해 Quotes to Scrape 웹 사이트를 사용할 것입니다. 우리의 임무는 사이트에서 인용문과 저자를 가져와 튜플 형식으로 인쇄하는 것입니다.

    import requests
    from bs4 import BeautifulSoup
    
    # URL for web scraping
    url = "http://quotes.toscrape.com/"
    
    # Perform GET request
    response = requests.get(url)
    
    # Parse HTML from the response
    soup = BeautifulSoup(response.text, 'lxml')
    
    #Extract quotes and quthors html elements
    quotes_html = soup.find_all('span', class_="text")
    authors_html = soup.find_all('small', class_="author")
    
    #Extract quotes into a list
    quotes = list()
    for quote in quotes_html:
        quotes.append(quote.text)
    
    #Extract authors into a list    
    authors = list()
    for author in authors_html:
        authors.append(author.text) 
    
    # Make a quote / author tuple for printing    
    for t in zip(quotes, authors):
        print(t)   
    


    마지막 생각들



    웹 스크래핑은 배워야 할 기본 기술 중 하나입니다. 그러나 정기적으로 웹 스크래핑을 위해 웹사이트를 사용하기 전에 책임을 지고 법적 조건을 준수해야 합니다.

    좋은 웹페이지 즐겨찾기