web解析器url re.findall()

时间:2014-07-24 07:36:36

标签: python parsing

我正在开发网络解析器。

我认为通过遵循事情可以使用正则表达式来解析。 结果就是这样。

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";

请给我一些建议。

1 个答案:

答案 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)
...