我正在构建一个刮板,我想在其中从某些标签中提取数据,而无需进行任何转换。但是Beautifulsoup将一些十六进制值更改为ASCII。例如,此代码被转换为ASCII
html = """\
<title>Billing address - PayPal</title>
<title>Billing address - PayPal</title>"""
这是代码的小例子
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, "lxml")
for element in soup.findAll(['title', 'form', 'a']):
print(str(element))
但是我想以相同的形式提取数据。我相信BeautifulSoup 4会自动转换HTML实体,这是我所不想要的。任何帮助将不胜感激。
顺便说一句,我正在使用Python 3.5和Beautifulsoup 4
答案 0 :(得分:1)
您可以尝试使用re
模块( Regular Expressions )。对于一个实例,下面的代码将提取标题标签信息而不进行转换:(我假设您之前声明了html变量)
import re
result = re.search('\<title\>.*\<\/title\>',html).group(0)
print(result) # It'll print <title>Billing address - PayPal</title>
您也可以对其他标签执行相同的操作