2017-10-02 10 views
0

私は特定のウェブページ内のすべてのテーブルを見つけるためにパンダread_htmlを使用しています。しかし、このプロセスではテーブルの一部が欠落しているようです。ここでパンダread_htmlいくつかのテーブルがありません

がWebページである:https://www.uspto.gov/web/offices/ac/ido/oeip/taf/mclsstc/mcls1.htm

、ここでは私の単純な例です:

import pandas as pd 

df_list = pd.read_html("https://www.uspto.gov/web/offices/ac/ido/oeip/taf/mclsstc/mcls1.htm") 

print(len(df_list)) 

このプロセスは、17個のテーブル9を検索します。このメソッドを使用してすべてのテーブルを検索するにはどうすればよいですか?

注:他の地域のページでこれを試しても、同じ問題があります。

答えて

0

pd.read_html関数がすべてのテーブルタグを見つけることができないようです。 BeautifulSoupurllib2パッケージをこの作業に使用することをお勧めします。 pip install <package_name>でインストールできます。

import urllib2 
from bs4 import BeautifulSoup 

html_text = urllib2.urlopen("https://www.uspto.gov/web/offices/ac/ido/oeip/taf/mclsstc/mcls1.htm") 
bs_obj = BeautifulSoup(html_text) 
tables = bs_obj.findAll('table') 
dfs = list() 
for table in tables: 
    df = pd.read_html(str(table))[0] 
    dfs.append(df) 

結果として、すべてのテーブル(DataFrameタイプ)がdfsリストにあります。

+0

ありがとうございました。 Python 3のマイナーな調整で、これは完璧に機能しました。 – Jeremiah