Python3 - 从请求中提取值

时间:2017-11-08 19:22:31

标签: python python-3.x

我编写了一个脚本,通过请求从网站获取一些数据。

以下是我运行代码时得到的响应:

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

我想要的休息是拉出以下两个字符串,以便稍后在脚本中使用:

2ae4a75e1a965da01fa7c54f29a9f8a8275876f9

MTUxMDE2ODQ5Mi40MDk0

如果有任何帮助,上面这两个叮叮的长度总是一样。

我尝试过print(ht)[:x],但每次都会抛出一个错误。

代码:

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)

1 个答案:

答案 0 :(得分:3)

一种方法是转换为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])