2017-02-10 3 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あなたは窓ですか、Linuxですか? – MYGz

+0

私は窓10にいます。 – Himakar

関連する問題