html清除序列,从解析的HTML中删除转义序列

博主正在使用Python的Mechanize库抓取并解析网页数据,遇到一个转义序列( )未被正确过滤的问题,导致日志文件中的元素混乱。他们尝试使用stripEscape函数去除特殊字符,但在实际运行中该函数未能有效处理网站返回的转义序列。博主寻求更有效的解决方案来处理这些转义序列,以确保后续的过滤和解析步骤能够正常进行。
摘要由CSDN通过智能技术生成

我正在使用Python mechanize模块向网站提交一个简单的查询,然后分解返回的元素以获取我需要的数据。但我似乎无法正确处理传回的转义序列。这是我的代码:

def stripEscape(string): #credit goes to sarnold

delete = ""

i=1

while (i<0x20):

delete += chr(i)

i += 1

t = string.translate(None, delete)

return t

def getHTML(metID):

br = mechanize.Browser()

response = br.open("http://urlgoeshere.com")

br.form = list(br.forms())[0]

br["PROMPT12"] = metID

response = br.submit()

htmlText = response.read()

parseHTML(htmlText)

def parseHTML(htmlText):

htmlText.index('table')

arr = re.split(r'(?\w{2}>)',htmlText) # everything after background tag

logFile = open('Log.txt','wb')

for ele in arr:

ele = stripEscape(ele)

if ele == '':

arr.remove(ele)

for ele in arr:

logFile.write("ele: "+ele+'\n')

if re.match('/table', ele):

logFile.write("END OF TABLE FOUND")

logFile.write("\nele: "+ele+'\n')

break

# other element filters

当我通过交互式shell传递参数时,stripEscape函数工作正常,但网站中的一个数组元素是\r\n\r\n,这会“逃脱”我的过滤器。它会像我这样写入我的日志文件:

ele: normal

ele: stuff

ele:

ele: more

ele: normal

绕过过滤器的结束表标签会导致我的所有其他过滤器变得混乱。有没有更好的方法来处理转义序列?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值