2017-05-15 1 views
0

일반적으로이 사이트에서 적어도 일부 태그를 얻으려고 시도하고 항상 아무 것도 제공하지 않습니다. 이 문제를 어떻게 해결해야할지 모르겠습니다.파이썬 파서 출력 없음

버튼이 있습니다. 옆면에서 티켓을 누르면 추가 패널이 나옵니다. 그래서 구문 분석하고 싶습니다. 어떻게 이해할 수 있습니까? 내가 이해하는 바와 같이,이 탭은 클릭 한 즉시로드되지 않습니다. 다음에해야할 일은 이해가되지 않습니다. 추신 방금 그것을 배우기 시작했습니다. 웹 페이지 http://toto-info.co/의 본문 요소는 "패널 열기"class 속성을 포함하지 않기 때문에 것

# coding: utf-8-sig 
import urllib.request 
from bs4 import BeautifulSoup 

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36"} 

def get_html(url): 

    request = urllib.request.Request(url,None,headers) 
    response = urllib.request.urlopen(request) 
    return response.read() 

def parse(html): 

    soup = BeautifulSoup(html,"html.parser") 
    table = soup.find('body', class_='panel-open') 
    print(table) 

def main(): 
    parse(get_html('http://toto-info.co/')) 

if __name__ == '__main__': 
    main() 
+0

Selenium (* 참조 * http://selenium-python.readthedocs.io/)의 도움으로이 사이트를 긁을 수 있습니다. Selenium으로 할 수있는 한 가지는'webdriver'의'execute_script' 메소드를 사용하여 Javascript 코드를 실행하는 것입니다. 예를 들어,'document.documentElement.outerHTML'을 실행할 수 있습니다. HTML5 API를 사용하면 지역 상점에 글을 쓸 수 있음을 이해합니다. 그러나, 나는 세부 사항을 아직 풀지 않았다. –

답변

0

.

당신은 body 요소 코드에서 줄을 변경하여 포함 된 내용을 볼 수 있습니다

table = soup.find('body', class_='panel-open') 

table = soup.find('body') 

에이 이제 몸의 요소에 포함 된 모든 요소를 ​​인쇄합니다.

스크립트를 가져와 다른 기술을 사용해야하는 경우 본문 요소에 매우 작은 스크립트가 포함되어 있습니다. Google 검색을 시작하는 것이 좋습니다. Web-scraping JavaScript page with Python.

table = soup.find('div', class_='standalone') 

하지만이 페이지에서 선택 :

당신이 관심이 있다면,별로 뭔가를 선택하지 예는

<div class="standalone" data-app="" id="app"></div> 

하지만이에 대한 모든 마크 업입니다 자바 스크립트없이 표시되는 페이지