Python使用lxml xpath从输入元素获取值

2024-10-01 02:37:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我想让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'>],那么我如何用解码的&#x2d; &#x2d; &#x2e;获得auth值呢?输入部分如下所示

<input name="auth" type="hidden" value="ADPifNsidn&#x2d;P0G6WmiMMeJbjEhnhIvZCNg7Fk11NUxc0DyYWzrH&#x2d;xk5ydV&#x2e;85WCzy">

非常感谢。


Tags: 代码nameimportauthinputhtmlpagelogin
1条回答
网友
1楼 · 发布于 2024-10-01 02:37:57

如果要检索该元素的auth属性,请使用

auth = html.xpath('//input[@name="auth"]/@value')

不需要解码任何东西,当lxml解析HTML时实体会自动展开,因此输出将是

$ python sample.py 
['AmmyYuqCDmZRcSs6MaQi2tKhzZiyAX0eSERKqTi3pLB5pdceB726lx7jhXU2MGDN6']

相关问题 更多 >