2017-01-10 5 views
0

웹 페이지 (축구에 대한 평가) 파이썬에서 HTML 사이트에서 특정 데이터를 가져올 수 없습니다 :는 (3.6)

http://www.fantagazzetta.com/voti-serie-a

내가 뭘하려 :

How to extract text from html page?

나는 사용자가 JRodDynamite에서 제공 한 답변 (결국은 res을 인쇄하고의 경우 을 사용하지 않음).

res = soup.findAll("article", {"class": "listingItem"}) 

내가 대답라고 생각 각 테이블의 내용 인쇄하려면 : 그래서 나는 코드 (내 생각)의 바로이 부분을 편집 할 필요

res = soup.findAll("table", {"class": "table"}) 

을하지만 아무것도 인쇄 아니에요. 그래서 당신의 도움이 필요합니다 : 나는 그 웹 페이지 (플레이어의 이름과 등급)에서 데이터를 수집하고 싶습니다만, 나는이 시점에서 붙어 있습니다. 감사합니다

답변

1

BeautifulSoup, 요청 등은 Javascript를 실행하지 않으므로 JS를 통해 전달되거나 렌더링 된 데이터는 사용할 수 없습니다.

import dryscrape 
from bs4 import BeautifulSoup 

sess = dryscrape.Session() 
sess.visit('http://www.fantagazzetta.com/voti-serie-a#') 
s = BeautifulSoup(sess.body()) 
for a in s.find_all('table', {'class': 'table'}): 
    print(a.text) 

Dryscrape 설치 :

sudo pip install dryscrape 
+0

당신이'설명 영업 이익과 다른 사람에 대한 dryscrape' 수있는 자바 스크립트를

당신과 같이 dryscrape으로 시도 할 수있는 페이지를 렌더링합니다. 문서에 대한 링크도 훌륭합니다. – furas

+0

@furas 충분하니? 원하면 편집하십시오. – MYGz

+0

매우 친절하고 유용한 답변, 감사합니다. – furas