我试图解析一个上面有不可打印字符的网页,并将其写入python中的文件。我正在使用带有请求的Python 2.7和Beautiful Soup。
我得到了包含请求的页面,并使用以下内容进行解析 -
for option in recon:
data['opts'] = '/c' + option
print "Getting: ",
print option
r = requests.post(url, data)
print r.content
page = bs4.BeautifulSoup(r.content, "lxml", from_encoding='utf-8')
print page
tag = page.pre.contents
print tag[0]
测试时, print r.content 会在所有未格式化的荣耀中正确显示页面。该页面是.cfm,我要查找的文字介于" pre" 标记之间。通过bs后,bs将一些不可打印的文本解释为" br" 标签,导致标签成为2个项目的列表,而不仅仅是所有文本之间的所有文本。预标签。有没有办法让pre标签与请求之间得到文本,或者用bs做一些不同的事情,以使它不会误解字符?
我已经阅读了以下内容,试图弄明白,加上请求和漂亮的汤文档,但到目前为止没有找到运气 -
答案 0 :(得分:0)
彻底解决了这个问题。我只是在使用certutil在Windows上传输之前对base64进行了编码,删除了第一行和最后一行,然后在远端进行了解码。