我正在做一些网页抓取,网站经常使用HTML实体来表示非ascii字符.Python是否有一个实用程序,它接受带有HTML实体的字符串并返回unicode类型?
例如:
我回来了:
ǎ
Run Code Online (Sandbox Code Playgroud)
代表带有音标的"ǎ".在二进制中,这表示为16位01ce.我想将html实体转换为值 u'\u01ce'
我已经四处寻找并且只找到了python 2.6及更早版本的解决方案,没有关于如何在python 3.X中执行此操作.(我只能访问Win7盒子.)
我必须能够在3.1中执行此操作,并且最好不使用外部库.目前,我安装了httplib2并访问命令提示符curl(这就是我获取页面源代码的方式).不幸的是,curl不解码html实体,据我所知,我找不到在文档中解码它的命令.
是的,我试图让美丽的汤工作,很多时候没有成功3.X. 如果您可以在MS Windows环境中提供有关如何在python 3中使用它的EXPLICIT说明,我将非常感激.
所以,要清楚,我需要将这样Suzy & John的字符串转换成这样的字符串:"Suzy&John".
使用带有html5lib的beautifulsoup,它会自动放置html,head和body标签:
BeautifulSoup('<h1>FOO</h1>', 'html5lib') # => <html><head></head><body><h1>FOO</h1></body></html>
Run Code Online (Sandbox Code Playgroud)
我可以设置任何选项,关闭此行为?
我有一个来自HTTP标头的字符串,但它已被转义..我可以使用什么功能来解决它?
myemail%40gmail.com -> myemail@gmail.com
Run Code Online (Sandbox Code Playgroud)
urllib.unquote()是否可行?
我正在下载以下列方式定义数据的HTML页面:
... <script type= "text/javascript"> window.blog.data = {"activity":{"type":"read"}}; </script> ...
Run Code Online (Sandbox Code Playgroud)
我想提取'window.blog.data'中定义的JSON对象.有没有比手动解析更简单的方法?(我正在寻找美丽的肥皂,但似乎无法找到一个方法,将返回确切的对象而不解析)
谢谢
编辑: 使用python无头浏览器(例如,Ghost.py)执行此操作是否可行且更正确?
有没有人知道在Python中使用HTML实体代码(例如< &)将字符串转换为普通字符串(例如<&)的简单方法?
cgi.escape()将逃脱字符串(很差),但没有unescape().
我有一个像这样的HTML文本:
<xml ... >
Run Code Online (Sandbox Code Playgroud)
我想把它转换成可读的东西:
<xml ...>
Run Code Online (Sandbox Code Playgroud)
用Python做任何简单(快速)的方法吗?
我想使用简单的python regexp从足球(足球)网页上删除一些信息.问题在于,像第一个小伙子,ÄRITALO这样的球员出现了ÄÄ RITALO!
也就是说,html对特殊字符使用转义标记,例如Ä
有没有一种简单的方法将html读入正确的python字符串?如果它是XML/XHTML那么很容易,解析器会这样做.
print u'<'
Run Code Online (Sandbox Code Playgroud)
我该怎么打印 <
print '>'
Run Code Online (Sandbox Code Playgroud)
我该怎么打印 >
可能重复:
解码Python字符串中的HTML实体?
我有一个字符串充满了HTML转义字符,如",”和—.
任何Python库都提供了可靠的方法让我用它们各自的实际字符替换所有这些转义字符吗?
例如,我想用"s替换所有s.
python ×10
html ×4
entities ×2
curl ×1
header ×1
html-parsing ×1
html5lib ×1
http ×1
mod-wsgi ×1
parsing ×1
python-2.6 ×1
python-3.x ×1
unicode ×1
urllib2 ×1