2013-01-03 1 views
1

Beautiful Soup은 HTML 및 XML 파일에서 데이터를 가져 오는 Python 라이브러리입니다. 웹 페이지 데이터를 추출하는 데 사용 하겠지만, 내 탐색에 사용되는 anchor label 버튼을 클릭 할 방법을 찾지 못했습니다. 그래서 이것을 위해 나는 다른 것을 사용해야하거나 내가 알지 못했던 능력을 가진 beautiful soup을 사용해야합니다.아름다운 수프가 웹 페이지 이벤트를 기록 할 수 있습니까?

제발 조언 해주세요!

+0

'셀렌과 아름다운 스프 '를 함께 사용할 수 있습니까? 귀하의 회신에 감사드립니다. – CodeLover

답변

1

태그/댓글에 응답하려면 예 (Selenium and BeautifulSoup)를 사용하고, 아니요, BeautifulSoup을 직접 사용하여 이벤트를 실행 (클릭 등) 할 수는 없습니다. 나 자신도 같은 상황에서 함께 사용하지는 않았지만 가설적인 상황은 Selenium을 사용하여 특정 경로 (예 : click() 이러한 옵션과 click() 다음 페이지로 이동)를 통해 대상 페이지로 이동하는 것입니다. BeautifulSoup을 사용하여 driver.page_source을 읽습니다 (여기서 driver은 브라우저를 '구동'하기 위해 만든 Selenium 드라이버입니다). driver.page_source은 페이지의 HTML이므로, 익숙한대로 BeautifulSoup를 사용하여 필요한 정보를 파싱 할 수 있습니다.

간단한 예 :

from bs4 import BeautifulSoup 
from selenium import webdriver 

# Create your driver 
driver = webdriver.Firefox() 

# Get a page 
driver.get('http://news.ycombinator.com') 

# Feed the source to BeautifulSoup 
soup = BeautifulSoup(driver.page_source) 

print soup.title # <title>Hacker News</title> 

주요 아이디어는 당신이 페이지의 소스를 읽을 필요가 언제이며, 당신은 당신이 원하는대로 읽기 위해 BeautifulSoup-driver.page_source를 전달할 수 있습니다.

+0

! 이제'셀레늄 webdriver '를 사용하는 웹 페이지 탐색과'아름다운 스프 '를 사용하는 웹 페이지 스크래핑과 같은 모듈을 어떻게 포함시킬 수 있는지 알고 싶습니다. 어떻게이 두 개의 서로 다른 .py 파일이 그들 사이에서 통신 할 것인가. 조금 혼란 스럽네요. 이해를 위해 여기에 안내하십시오. [ADO] (http://www.devguru.com/technologies/ado/8530.asp)를 예로 들면 다음 페이지로 이동하거나 'Properties' 섹션 아래에있는 텍스트 파일로 값을 스크랩 할 수 있습니다. 가능하면 데모로 안내해주세요. – CodeLover

+1

@CodeLover 물론, 아주 간단한 예제로 편집. 희망이 도움 : – RocketDonkey

+0

도와 주셔서 감사합니다. 지식이 풍부한 사람은 당신처럼되어야합니다! :) – CodeLover

관련 문제