python:TypeError:期望的字符串或缓冲区

时间:2013-06-28 13:30:48

标签: python

我有这段代码,解析网站上的数据:

f = open('a url')
new = f.read()
derp = re.findall(r'<ol class="lh-192 trendingnow_trend-list fw-b">(.*?)</ol>', new)
line = derp

def striphtml2(data):
    p = re.compile(r'\d')
    return p.sub(' ', data)
new = striphtml2(line)
#removes anything in <>
def striphtml(data):
    p = re.compile(r'<.*?>')
    return p.sub(' ', data)
ninja = striphtml(new)

但是每次我运行它都会得到这个:

TypeError: expected string or buffer

我不知道它有什么问题。

1 个答案:

答案 0 :(得分:6)

您正在将列表传入该函数。 line不是字符串,而是整个字符串列表。

循环遍历:

for line in derp: