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

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

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


我想要的休憩方法是取出下面的两个字符串,以供稍后在脚本中使用:

2ae4a75e1a965da01fa7c54f29a9f8a8275876f9

MTUxMDE2ODQ5Mi40MDk0


如果有帮助,上面的这两个st总是一样长。

我尝试过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)

最佳答案

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

07-25 23:58
查看更多