2015-01-15 65 views
-3

IM多时间写这个剧本:在同一个列表蟒蛇正则表达式提取森达列表

def extractURL(data): 
    links = re.findall(r'href=[\'"]?([^\'" >]+)', data) 
    scrlinks = re.findall(r'scr=[\'"]?([^\'" >]+)', data) 
    print '+' + str(len(links)) 
    logfile = open('links.dat', 'a') 
    for link in links: 
     logfile.write('%s\n' % (link)) 
    for link in scrlinks: 
     logfile.write('%s\n' % (link)) 
    logfile.close() 

可以提取多次白衣正则表达式?用于一次用于funnction。

+0

你能解释一个例子吗? –

+0

不能得到你想要的?功能看起来不错..你能详细解释一下吗? –

+0

表示您只想要一个变量来存储重新结果 –

回答

0

据kingcope“是的,我想在重新的一个变量的结果商店 - kingcope”

使用列表extend方法。

>>> l1 = [1,2,3] 
>>> l2 = [4,5,6] 
>>> l1.extend(l2) 
>>> l1 
[1, 2, 3, 4, 5, 6] 

或者添加两个列表

>>> l1 = [1,2,3] 
>>> l2 = [4,5,6] 
>>> l3 = l1+l2 
>>> l3 
[1, 2, 3, 4, 5, 6] 

使用解析器提取的hrefsrc

content值是HTML文件中的数据。

>>> import lxml.html as PARSER 
>>> root = PARSER.fromstring(content) 
>>> root.xpath("//@src") 
['#333'] 
>>> root.xpath("//@href") 
['1.com'] 
>>> 
+0

@kingcope:这对你有用? –