2017-03-17 9 views
0

このsiteから要素を抽出しようとしています。具体的には、私は温度を抽出しようとしています。Python:bs4でウェブサイトから要素を抽出できません

これは私がBeautifulSoup4を使用して抽出しようとしています、次の要素であり、次は言及サイトから要素を抽出することになっている私のPythonコードである

<p class="temperature">-1<span>°C</span></p> 

import requests 
from bs4 import BeautifulSoup 

url = requests.get('https://www.theweathernetwork.com/ca/weather/ontario/mississauga') 

soup = BeautifulSoup(url.content, 'lxml') 

print(soup.find_all('p', {'class':'temperature'})) 

そして、それは単に空の配列を返します。

[] 

誰もが私を助けることができたら本当に感謝します。

注:私は、

+1

詳細と使用selenium

  • splashのようなJavaScriptのレンダリングエンジンを使用してPythonで

  • を要求を使用してそれらを複製あなたはjavascript経由でロードされるので、python-requestsで十分ではありません。それは**空であるため、空になって出てきます。あなたがやっていることは、ウェブの掻き取りです。 http://stackoverflow.com/questions/26393231/using-python-requests-with-javascript-pages –

  • +0

    私は参照してください。だから、私はデータを抽出するためにどのライブラリを使用することをお勧めしますか? –

    答えて

    0

    オーケーをPYTHONに新しいです@RobinAnupolが述べたように、あなたは本当のブラウザになりたいかと類似に応じて、いくつかのオプションがあります。

    1. ブラウザで手動でウェブサイトを開き、javascriptコードでサイトのAPI呼び出しを確認します。実際のブラウザ(そこにクロムのドライバ、すなわち、Firefoxの、phantomjsなど)

    +0

    私はセレンでそれをテストしましたが、それは計画どおりに動作しますが、リクエストに比べて低いですが、抽出しようとしているテキストがHTMLではなくjavascriptにあるためです。 –

    +0

    それは素晴らしいです。この回答を受け入れて質問が未回答として表示されないようにするには –

    +0

    はい、申し訳ありません。ちょうど今それをやった。 –

    関連する問題