2017-02-10 146 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

該網頁似乎是通過javascript呈現的。 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。每當我嘗試通過點對點安裝時,它都會給我帶來錯誤。你能幫我嗎? 'qmake'不被識別爲內部或外部命令, 可操作程序或批處理文件。 錯誤:[Errno 2]沒有這樣的文件或目錄:'src/webkit_server' – Himakar

+0

@Himakar你是windows還是linux? – MYGz

+0

我在Windows 10上。 – Himakar