我有这段代码,解析网站上的数据:
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
我不知道它有什么问题。
答案 0 :(得分:6)
您正在将列表传入该函数。 line
不是字符串,而是整个字符串列表。
循环遍历:
for line in derp: