我正在开发网络解析器。
我认为通过遵循事情可以使用正则表达式来解析。 结果就是这样。
ex) location.href = "login/html";
ex) location.href = "featureId/html";
我想获得所有String结果,但我不能得到它们。
代码如下:
# -*- coding: utf-8 -*-
import urllib2
import re
url_reg= re.compile('(location\.(href|assign|replace)|window\.location)\s*(=|\()+.*(;|$)')
url ='http://zero.webappsecurity.com/'
request = urllib2.Request(url)
res = urllib2.urlopen(request)
html = res.read().decode('utf-8')
print html
print re.findall(url_reg, html)
用完结果的来源如下:
[(u'location.href', u'href', u'=', u';'), (u'location.href', u'href', u'=', u';'), (u'location.href', u'href', u'=', u';'), (u'location.href', u'href', u'=', u';'), (u'location.href', u'href', u'=', u';'), (u'location.href', u'href', u'=', u';')]
最初,我想接下来。
location.href = path + "login" + ".html";
location.href = path + featureId + ".html";
location.href = "/" + "online-banking" + ".html";
location.href = path + featureName +".html";
请给我一些建议。
答案 0 :(得分:0)
您没有清楚地描述您的问题。这是你想要的字符串,对吧?
window.location.href = path + "login" + ".html";
window.location.href = path + featureId + ".html";
window.location.href = "/" + "online-banking" + ".html";
window.location.href = path + featureName +".html";
window.location.href = link.page;
window.location.href = path + link.page + ".html";
然后你应该使用这样的模式。
...
url_reg= re.compile('window\.location\.href = ["/ +\-\.; a-zA-Z]*')
print url_reg.findall(html)
...