2017-01-02 4 views
1

プロジェクトでは、別のWebサイトからデータをスクラップしましたが、問題があります。ブラウザのHTMLがPythonでスクレイプされたデータに対応していません

私がソースコードを見ると、私が望むものはテーブルにあるので、スクラップするのは簡単だと思われます。しかし、スクリプトを実行するとコードソースの一部が表示されません。

ここに私のコードです。私は別のものを試しました。最初はヘッダーがありませんでしたが、いくつか追加しましたが違いはありません。私はウェブサイトで探しています何

# import libraries 
import urllib2 
from bs4 import BeautifulSoup 
import csv 
import requests 

# specify the url 
quote_page = 'http://www.airpl.org/Pollens/pollinariums-sentinelles' 

# query the website and return the html to the variable 'page' 
response = requests.get(quote_page) 
response.addheaders = [('User-agent', 'Mozilla/5.0')] 
print(response.text) 

# parse the html using beautiful soap and store in variable `response` 
soup = BeautifulSoup(response.text, 'html.parser') 

with open('allergene.txt', 'w') as f: 
    f.write(soup.encode('UTF-8', 'ignore')) 

は、そのHTMLのように見える「Herbacée」の後のものである:

<p class="level1"> 

     <img src="/static/img/state-0.png" alt="pas d'émission" class="state"> 

    Herbacee 
    </p> 

あなたは間違って何任意のアイデアを持っていますか?

あなたの助けのおかげで、幸せな新年の連中:)

+0

「JavaScript」を使用してデータを追加できます。 'BS'と' requests'は 'JavaScript'を実行しません – furas

+0

ところで、あなたはデータを受け取った後に' headerers'を追加します - 'response.addheaders' - それは意味をなさない - あなたは' get(... 、headers = headers) ' – furas

+0

あなたが言ったように私はしようとしましたが、違いはありません。 多分いくつかのJavaScriptがあります。それについて考えなかった。 1行があります: ます。 そのように見えます。とにかくこれらのデータを取得する意味はありますか? – Hawkydoky

答えて

1

このページテーブルをレンダリングするためにJavaScriptを使用して、実際のページには、テーブルが含まれています:

http://www.alertepollens.org/gardens/garden/1/state/ 

あなたはChromeでこのURLを見つけることができます開発ツール>>>ネットワーク。

enter image description here

+0

これらのツールを使用する習慣はありません。 あなたの素早い答えをありがとう、それは私が必要なものです:) – Hawkydoky

関連する問題