본문 바로가기
파이썬

파이썬 Python3 웹 페이지에서 전체 텍스트를 얻지 못함

by º기록 2020. 9. 13.
반응형

중간에 이메일을 검색하려는 웹 페이지가 있습니다.

url = 'https://www.westminster.ac.uk/about-us/our-people/directory/ramachandran-natasha-1'

요청 및 urllib와 함께 BeautifoulSoup을 사용해 보았지만 print (page_source) 시 이메일이 포함되지 않았기 때문에 둘 다 작동하지 않습니다.

page = requests.get(url, headers={'User-Agent': 'Mozilla/5.0'})
page_source = page.text

page = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0'})
infile = urllib.request.urlopen(page).read()
page_source = infile.decode('ISO-8859-1')

나는 헤더를 사용하거나 사용하지 않고 시도했습니다. 또한 driver.get (url) 과 함께 셀레늄을 사용하여이 작업을 수행하면 작동합니다. 하지만 너무 느리기 때문에 셀레늄을 사용할 수 없습니다.

다른 유사한 스레드를 여러 개 보았고 위의 솔루션을 제안했지만 저에게 적합하지 않습니다.

해당 페이지에서 이메일을 빠르게 검색 할 수있는 방법이 있습니까?

 

해결 방법

 

from bs4 import BeautifulSoup
import requests
url="https://www.westminster.ac.uk/about-us/our-people/directory/ramachandran-natasha-1"
page_data=requests.get(url)
soup=BeautifulSoup(page_data.content,"html.parser")

email_id=[]

for job_tag in soup.find_all("div",class_="masthead-profile__result-set"):
    email=job_tag.find("div",class_="masthead-profile__result-value--email email")
    
    email_id.append(email)

이 방법은 효과가 있었지만 위의 질문에서 job_tag 만 인쇄하면 웹 사이트에서 이메일을 보호합니다. 분명히 알 수 있습니다.

 

참조 페이지 https://stackoverflow.com/questions/63757026

 

 

반응형

댓글