2016-08-30 9 views
0

これは異常な問題です。私は特定のWebサイトからテーブルを抽出しようとしています(セキュリティのためにリンクできません)。問題は、ウェブサイトからアクセスしたときにサイトがテーブルを読み込むが、そのテーブルの任意の値/テーブルにinspect elementを使用すると、そのテーブルは表示されないということです。それは内にいくつかのスクリプトとリンクを含む<html>_</html>を表示するだけです。最初はbeautifulsoupを使用してテーブルを抽出しようとしましたが、失敗しました。それから私はパンダ pandas.read_html(html)を使用しますが、サイトが含まれている複数のテーブルと、その出力はこのpandas read_html関数を使用してテーブルを抽出していますか?

[  Code     Name 
0 A      John 
1 B      Terry 
2 C      Kitty 


    Column 1 Column 2 Column 3 
0  1 0.6173661242 8 
1  2 0.7232098163 20 
2  3 0.9954581943 39 
3  4 0.5595425507 18 
4  5 0.9644025159 20 
5  6 0.3914102544 29 
6  7 0.0154642132 49 

.... 

[873 rows x 3 columns], 

0\n\t\t\t\t\t\t\t\t\t 
0             0 ] 

のようなものですし、私はそれが任意のアイデアをどのようにこのエラー

ValueError: No tables found matching pattern 'Column 1'

を返します。このpandas.read_html(html, match="Column 1")ような何かを試してみましたread_htmlを使用してテーブルを抽出できますか?

+2

おそらく特定のテーブルにインデックスを作成できます。あなたはおそらく 'df = pd.read_table(url)[1]' –

+0

を実行することができます。私はサイト(セキュリティ用)は、通常のテーブルのhtmlタグを使用せずにテーブルを出力するために他の方法を使用すると思います。 – Eka

+0

あなたが 'pd.read_table(html)'をやったときに戻ったリストの長さは? –

答えて

0

セキュリティで保護されたWebサイトからデータを削除する場合、WebサイトでJavaを使用してテーブルをロードして、HTMLスタイルのコードが表示されないようにすることができます。これは、BeautifulSoupが何も返さない理由です。

"スクリプトと内部のリンク"はJavaのようですか?

Selenium?

関連する問題