我想让paypal cURL登录,所以我需要auth值。我尝试使用此python代码从html源获取auth值
import requests
import lxml.html
import StringIO
from xml.etree.ElementTree import ElementTree
r = requests.get("https://paypal.com/cgi-bin/webscr?cmd=_login-run")
login_page = r.text.encode('utf-8') #printing html source
html = lxml.html.fromstring(login_page) #printing <Element html at 0x7f19cb242e$
auth = html.xpath('//input[@name="auth"]') #printing [<InputElement 7fb0971e9f1$
print auth
但上面的代码打印了这个[<InputElement 7fb0971e9f18 name='auth' type='hidden'>]
,那么我如何通过解码- - .
获取auth值?输入部分看起来像这样
<input name="auth" type="hidden" value="ADPifNsidn-P0G6WmiMMeJbjEhnhIvZCNg7Fk11NUxc0DyYWzrH-xk5ydV.85WCzy">
非常感谢你。
答案 0 :(得分:4)
如果您想要检索该元素的auth
属性,请使用
auth = html.xpath('//input[@name="auth"]/@value')
不需要解码任何东西,当lxml解析HTML时实体会自动展开,因此输出将是
$ python sample.py
['AmmyYuqCDmZRcSs6MaQi2tKhzZiyAX0eSERKqTi3pLB5pdceB726lx7jhXU2MGDN6']