我编写了一个脚本,可以通过请求从网站获取一些数据。
下面是运行代码时得到的响应:
<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])