2017-05-19 7 views
1

私はウェブサイトからデータをスクラップし、そのデータをPHPで使用するために渡すことに興味があります。私は周りを見てきましたが、私が見つけた最も良い提案は、最初にPythonデータをシリアライズし、次にそれを渡すことです。Python初心者:Selenium WebElementオブジェクトをPHPに渡す

私が問題になっているのは、Pythonデータをシリアル化する方法がわかりません。

私はSeleniumを使用しています。次のコードがあります。

test = browser.find_elements_by_css_selector("table#resultstable td") 

私はループを介して可変を実行しているし、それを印刷して使用するデータを見ることができます。私は、オブジェクトをシリアル化しようとすると、

for val in test: 
    print(val.text) 

はしかし、私は次のエラーが表示されます

json.dumps(test) 
.... 
TypeError: Object of type 'WebElement' is not JSON serializable! 

私はPHPでうれしいですが、私は唯一持っている、誰かが正しい方向に私を指すことを願って最近Pythonを見て始めました。

答えて

0

JSONこれらの要素(または他の配列やマップのいずれかの点またはそのいずれかが末尾に置かれている配列やマップなど)を格納できるもの(数値、文字列、ブール値、配列またはマップ。。これらのフォーマットは)そのためにのみこれらのルールに適合したJSON文字列何かにダンプすることができますJSONデータを操作するためのPythonライブラリをJSONあなたのケースでは、私は、単純な出発点としてお勧めしたい:

columns = [val.text for val in test] # convert to a list of strings, where each string is the td.text

json.dumps(columns)あなたに役立つ何かを与えるべきです

+0

ありがとう、これは非常に良いです出発点。要素テキストを文字列に変換してリストに入れるのは、私が探していたものですが、これを達成するためのPythonの構文は不明です。私はここからこれについて作業します。 –