Python을 사용하여 웹 페이지에서 이메일 주소 추출

김이 19781·2022년 12월 22일
0


소개

특정 이메일 주소를 찾기 위해 정리되지 않은 데이터 더미를 뒤지는 데 지쳤습니까? 더 이상 보지 마세요! 이 블로그 게시물에서는 Python 및 정규식을 사용하여 웹 페이지에서 이메일 주소를 추출하는 간단하고 효과적인 방법을 소개합니다.

regex라고도 하는 정규식은 텍스트 데이터를 일치시키고 조작하기 위한 강력한 도구입니다. 문자열에서 검색할 패턴을 지정한 다음 일치하는 하위 문자열을 추출할 수 있습니다.

이 게시물에서는 Python에서 정규식을 사용하여 웹 페이지에서 이메일 주소를 추출하는 방법에 대한 단계별 가이드를 제공합니다. 또한 정규식을 사용하여 가장 정확하고 완전한 이메일 주소 집합을 추출하는 방법에 대한 예제와 팁을 제공합니다.

따라서 데이터 과학자, 웹 개발자 또는 이메일 목록을 정리하려는 사람이라면 이 블로그 게시물이 도움이 될 것입니다. 시작하자!

코드

아래 코드는 정규식을 사용하여 문자열에서 이메일 주소를 추출하는 데 사용할 수 있는 extract_email_addresses 함수를 제공합니다. 이 함수는 문자열을 입력으로 사용하고 문자열에 있는 이메일 주소 목록을 반환합니다.

함수에 사용되는 정규식은 세 부분으로 구성됩니다.

첫 번째 부분인 "(\w|.)+"는 영숫자 또는 마침표인 하나 이상의 문자와 일치합니다. "@" 기호 앞의 이메일 주소 부분입니다.

두 번째 부분인 "@"는 "@" 기호와 일치합니다.

세 번째 부분인 "[\w.-]+"는 영숫자, 마침표, 하이픈 또는 밑줄인 하나 이상의 문자와 일치합니다. 이메일 주소에서 "@" 기호 뒤의 부분입니다.

이 함수는 re 모듈의 findall 함수를 사용하여 입력 문자열에서 패턴과 일치하는 모든 이메일 주소를 추출합니다.

extract_email_addresses 함수를 사용하여 웹 페이지에서 이메일 주소를 추출하는 방법의 예도 제공됩니다. 이 예제에서는 요청 모듈을 사용하여 웹 페이지에 GET 요청을 한 다음 응답 텍스트를 extract_email_addresses 함수에 전달하여 이메일 주소를 추출합니다.

다음은 파이썬을 사용하여 웹 페이지에서 이메일 주소를 추출하는 데 사용할 수 있는 정규식입니다.

import re

def extract_email_addresses(string):
  # The regular expression for matching email addresses
  # consists of three parts:
  # 1. The first part, "(\w|\.)+" matches one or more characters
  #    that are either alphanumeric or a period. This is the
  #    part of the email address before the "@" symbol.
  # 2. The second part, "@" matches the "@" symbol.
  # 3. The third part, "[\w.-]+" matches one or more characters
  #    that are either alphanumeric, a period, a hyphen, or
  #    an underscore. This is the part of the email address
  #    after the "@" symbol.
  pattern = r'(\w|\.)+@[\w.-]+'

  # Use the findall function to extract all email addresses
  # that match the pattern from the string.
  email_addresses = re.findall(pattern, string)

  return email_addresses

다음은 이 기능을 사용하여 웹 페이지에서 이메일 주소를 추출하는 방법의 예입니다.

import requests

# Make a GET request to the webpage
response = requests.get('http://example.com')

# Extract the email addresses from the webpage
email_addresses = extract_email_addresses(response.text)

# Print the email addresses
print(email_addresses)

이 정규식은 웹 페이지에 있는 대부분의 이메일 주소를 추출할 수 있어야 합니다. 그러나 정규식은 이메일 주소 추출을 위한 완벽한 솔루션이 아니며 올바르게 추출되지 않은 일부 이메일 주소가 있을 수 있다는 점에 유의해야 합니다.

이게 도움이 되길 바란다! 궁금한 점이 있으면 알려주세요.

profile
안녕하세요, 저는 소프트웨어 개발자입니다. 저는 컴퓨터 과학을 전공하여 컴퓨터 프로그램을 만들고 유지보수하는 일을 합니다. 저는 새로운 기술을 습득하고 새로운 기능을 개발하는 것을 즐깁니다. 감사합니다.

0개의 댓글