怎么提取物件标识属性值从HTML
-
21-08-2019 - |
题
我努力工作的开销ASP.NET 自命名服务器的控制。我有一个网页,其中含有7 000名行HTML呈现的数百套ASP.NET 控制,其中有许多名/名称的属性,数以百计的字长。
什么我会想像是什么,将提取的每一HTML属性价值,开始"ctl00"入名单。Regex查找功能在记事本++将是完美的,如果只有我知道什么regex应该是什么?
作为一个例子,如果HTML是:
<input name="ctl00$Header$Search$Keywords" type="text" maxlength="50" class="search" />
我想输出的东西,如:
name="ctl00$Header$搜索$Keywords"
一个更高级的搜索可能包括的元素名称以及(例如控制类型):
输入|name="ctl00$Header$搜索$Keywords"
为了应付这两个Id和名称的属性,我将只会重新运行搜寻找Id而不是名称(即我不需要的东西,将寻找两者都在同一时间)。
最终的产出将是一个excel报告,列出的数量服务器的控制上的页面,长度的名称,可能由控制的类型。
解决方案 3
回答我的问题,要做到这一点最简单的方法是使用BeautifulSoup的“脏HTML”的Python语法分析器,其口号是:
“你没写那可怕的页面。你只是想获得一些数据出来。现在,你真的不关心什么HTML应该是什么样子。无论这是否解析器。“
它的工作原理,以及它可以从这里 - http://crummy.com/software/BeautifulSoup
其他提示
快速脏:
搜索
\w+\s*=\s*"ctl00[^"]*"
这将匹配,看起来像一个属性的任何文本,例如name="ctl00test"
或attr = "ctl00longer text"
。它不会检查这是否真的发生了HTML标签中 - 这是多一点很难做到,也许没有必要?它也不会检查标签的名称中转义引号。像往常一样用正则表达式,所需要的复杂性取决于要匹配什么和你输入的样子...
“7000”? “数百名”?亲爱神
既然你只是希望在文本编辑器源,试试这个... /(ID |名称)= “CT [^”] *“/
我建议xpath,因为在这 的问题