2017-11-08 15 views
1

私は、リクエストによってウェブサイトからデータを取得するためのスクリプトを書いています。以下はPython3 - リクエストから値を引き出す

は、私は、コードを実行したときに、私が得る応答である:

<input name="ht" type="hidden" value="2ae4a75e1a965da01fa7c54f29a9f8a8275876f9:MTUxMDE2ODQ5Mi40MDk0"/> 

私の希望安息は、スクリプトの後半で使用するために、文字列の下にある2つを引き出すことです。

2ae4a75e1a965da01fa7c54f29a9f8a8275876f9 

MTUxMDE2ODQ5Mi40MDk0 

の場合これらの2つの拍手がいつも同じ長さの助けとなります。

私はprint(ht)[:x]を試しましたが、毎回エラーが発生します。

CODE:

import requests 
from bs4 import BeautifulSoup 

req = requests.get('http://18montrose.us11.list-manage.com/subscribe/post?u=6b0a46846ebdd9e62be420915&id=d63240a5fe') 
soup = BeautifulSoup(req.text, "html.parser") 
ht = soup.find("input", {"name":"ht"}) 
print(ht) 
+0

属性値としてBeautifulSoupを試しましたか? –

答えて

2

一つの方法は、stringにキャストして、これを行うことです。

a = str(ht) 

val = a[a.index("value")+6:len(a)-3] # getting the substring from 'value=' to end 

print(val.split(':')[0]) # split on : and get 1st and 2nd part 

print(val.split(':')[1]) 
関連する問題