基本上,我正在尝试从HTML文件列表中抓取所有HTML标签。 当我尝试执行此操作时,出现错误:
TypeError:预期的字符串或类似字节的对象。
有没有办法用正则表达式遍历列表?
这是我正在使用的代码:
import pymssql
import re
conn = pymssql.connect(
host='xxx',
port=xxx,
user='xxx',
password='xxx',
database='xxxx'
)
cursor = conn.cursor()
cursor.execute('SELECT 'column' FROM 'table'')
text = cursor.fetchall()
conn.close()
raw = []
raw.append(text)
str(raw)
x = re.sub('<[^<]+?>', '', raw)
答案 0 :(得分:1)
错误:
TypeError:预期的字符串或类似字节的对象。
指的是raw
指向list
对象,将其指向字符串。您需要这样做:
raw = str(raw) # instead of just str(raw)
但是,如果text
确实是字符串,为什么不这样做:
x = re.sub('<[^<]+?>', '', text)
有关更多详细信息,请参见str上的文档,下面的引文来自此处:
返回对象的str版本。有关详细信息,请参见str()。
答案 1 :(得分:0)
签出BeautifulSoup软件包。这是一个HTML解析器,您可以将其视为普通的python字典。