如何将输出转换为列表来计算它的数量?

Ale*_*x A 2 python list

我编写了一个脚本来解析网页并获取链接数量('a'标签):

import urllib
import lxml.html
connection = urllib.urlopen('http://test.com')
dom =  lxml.html.fromstring(connection.read())
for link in dom.xpath('//a/@href'):
    print link
Run Code Online (Sandbox Code Playgroud)

脚本的输出:

./01.html
./52.html
./801.html
http://www.blablabla.com/1.html
#top
Run Code Online (Sandbox Code Playgroud)

如何将其转换为列表来计算链接数量?我使用link.split()但它得到了我:

['./01.html']
['./52.html']
['./801.html']
['http://www.blablabla.com/1.html']
['#top']
Run Code Online (Sandbox Code Playgroud)

但我想得到:

[./01.html, ./52.html, ./801.html, http://www.blablabla.com/1.html, #top]

谢谢!

Ros*_*nko 7

link.split()试图拆分链接本身.但您必须使用代表所有链接的实体.在你的情况下:dom.xpath('//a/@href').

所以这必须帮助你:

links = list(dom.xpath('//a/@href'))
Run Code Online (Sandbox Code Playgroud)

并通过内置len函数获得长度:

print len(links)
Run Code Online (Sandbox Code Playgroud)