编程语言
首页 > 编程语言> > Python找到给定源的视图状态值

Python找到给定源的视图状态值

作者:互联网

我正在尝试编写一个程序来解码给定URL的视图状态.我知道存在类似的程序,但这比项目更具有游览性.
给定页面的html源,如何获取视图状态表单元素的值.
我首先这样做:

def get_viewstate(html):
        i = html.index('id="__VIEWSTATE" value="')
        somedata = html[i+len('id="__VIEWSTATE" value="'):]

但是我想不出一种有效的方法来仅检索元素的值直到结束标记.
检索此表单元素的值的最有效方法是什么?

解决方法:

lxml与CSS选择器结合使用:

import lxml.html

root = lxml.html.fromstring(html)
matched = root.cssselect('#__VIEWSTATE')
if matched:
    value = matched[0].get('value')

使用BeautifulSoup

from bs4 import BeautifulSoup

soup = BeautifulSoup(html)
matched = soup.select('#__VIEWSTATE')
if matched:
    value = matched[0].get('value')

标签:viewstate,string,python,regex
来源: https://codeday.me/bug/20191030/1964769.html