2016-11-12 6 views
0

私はウェブページhttp://timetable.ait.ie/js/filter.jsを持っており、このページを真剣に解析する必要があります。私は過去数日にわたってBeautifulSoupを使用してhtmlページを解析しています。私はそこでやっていることを実際に得ていますが、この.jsファイルが私を殺しています。解析.jsページpython

import urllib 
page = urllib.urlopen("http://timetable.ait.ie/js/filter.js") 
pageInfo = page.read() 

をし、それがコードの18283行のファイル全体の文字列を返している:

現時点では私は、次のコードを使用しています。私は底部に向かっスタッフ名を取得しようとしていたコードでは、配列があります:

staffarray[373][0] = "BRADY, DAMIEN"; 
staffarray[373][1] = "SCI"; 
staffarray[373][2] = "BRADY001608"; 

私は私にこれらの値を使用してデータベースを構築し、[1] [0]とからの値を必要とし、後で参照できます。

私はstaffarrayを見つけるために正規表現を試しましたが、私はこの情報を得ることを完全に不満しています。私を助けてくれる人がいますか?

+0

urllibはと要求はサーブからのデータのみを読み込みます。 BSでは、HTMLでタグを見つけることができます。つまり、

1

あなたはキャプチャグループで正規表現パターンを書くことができます:

import re 
with open('filter.js') as file: 
    pattern = r'staffarray\[(?P<first_index>\d+)\]\s*\[(?P<second_index>\d+)\] = "(?P<name>.+)"' 
    for line in file: 
     match = re.search(pattern, line) 
     if match: 
      first_index, second_index, name = match.groups() 
      # do something with data 
+0

答えはありがとうございました。 –