2017-02-10 2 views
0

나는 Beautifulsoup를 처음 사용하고있어서 문제가 발생한 것 같습니다. 내가 작성한 코드는 내 지식에 맞지만 출력은 비어 있습니다. 어떤 가치도 보이지 않습니다.BeautifulSoup은 어떤 값도 반환하지 않습니다.

import requests 
from bs4 import BeautifulSoup 

url = requests.get("https://www.nseindia.com/") 

soup = BeautifulSoup(url.content, "html.parser") 

nifty = soup.find_all("span", {"id": "lastPriceNIFTY"}) 

for x in nifty: 
    print x.text 

답변

1

페이지가 자바 스크립트로 렌더링 된 것 같습니다. requests은 JavaScript에 의해로드 된 내용을 가져 오지 못하고 JavaScript 렌더링 전에 부분 페이지를 가져옵니다. 당신과 같이이를 위해 dryscrape 라이브러리를 사용할 수 있습니다 :

import dryscrape 
from bs4 import BeautifulSoup 

sess = dryscrape.Session() 
sess.visit("https://www.nseindia.com/") 
soup = BeautifulSoup(sess.body(), "lxml") 
nifty = soup.select("span[id^=lastPriceNIFTY]") 
print nifty[0:2] #printing sample i.e first two entries. 

출력 :

[<span class="number" id="lastPriceNIFTY 50"><span class="change green">8,792.80 </span></span>, <span class="value" id="lastPriceNIFTY 50 Pre Open" style="color:#000000"><span class="change green">8,812.35 </span></span>] 
+0

나는 dryscrape를 설치하지 못할. 그것은 내가 pip를 통해 그것을 설치하려고 할 때마다 에러를 내고있다. 도울 수 있니? 'qmake'가 내부 또는 외부 명령, 실행 가능 프로그램 또는 배치 파일로 인식되지 않습니다. 오류 : [Errno 2] 해당 파일이나 디렉토리가 없습니다. 'src/webkit_server' – Himakar

+0

@Himakar Windows 또는 Linux입니까? – MYGz

+0

나는 Windows 10에있다. – Himakar

관련 문제