如何解码html hex元素?

时间:2015-04-07 18:48:21

标签: python html unicode hex decode

我试图抓取的网站的一部分有这个奇怪的十六进制值块而不是字符。我怎么能用python解码呢?

我正在使用urllib.request获取页面源

http://www.filmovita.com/despicable-2-2013/ 这是代码:

<span id='engimadiv5523da4eae533' data-enigmav='\u0032\u002e\u0020\u0056\u0065\u0072\u007a\u0069\u006a\u0061\u003a\u003c\u0062\u0072\u0020\u002f\u003e\u000a\u003c\u0073\u0074\u0072\u006f\u006e\u0067\u003e\u003c\u0061\u0020\u0068\u0072\u0065\u0066\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0077\u0077\u0077\u002e\u0063\u006c\u006f\u0075\u0064\u007a\u0069\u006c\u006c\u0061\u002e\u0074\u006f\u002f\u0073\u0068\u0061\u0072\u0065\u002f\u0066\u0069\u006c\u0065\u002f\u0047\u0042\u0047\u0059\u0031\u0030\u0036\u0031\u0053\u004c\u0053\u0032\u004c\u0035\u004b\u004b\u0058\u0030\u0049\u0054\u0054\u0047\u004f\u004c\u0047\u002f\u0022\u0020\u0074\u0061\u0072\u0067\u0065\u0074\u003d\u0022\u005f\u0062\u006c\u0061\u006e\u006b\u0022\u0020\u0072\u0065\u006c\u003d\u0022\u006e\u006f\u0066\u006f\u006c\u006c\u006f\u0077\u0022\u003e\u0047\u006c\u0065\u0064\u0061\u006a\u0020\u006e\u0061\u0020\u0076\u0069\u0064\u0065\u006f\u0020\u0073\u0065\u0072\u0076\u0069\u0073\u0075\u0020\u0043\u006c\u006f\u0075\u0064\u005a\u0069\u006c\u006c\u0061\u002e\u0074\u006f\u003c\u002f\u0061\u003e\u003c\u002f\u0073\u0074\u0072\u006f\u006e\u0067\u003e\u003c\u002f\u0070\u003e\u000a\u003c\u0070\u003e\u0033\u002e\u0020\u0056\u0065\u0072\u007a\u0069\u006a\u0061\u003a\u003c\u0062\u0072\u0020\u002f\u003e\u000a\u003c\u0073\u0074\u0072\u006f\u006e\u0067\u003e\u003c\u0061\u0020\u0068\u0072\u0065\u0066\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0066\u0069\u006c\u0065\u0068\u006f\u006f\u0074\u002e\u0063\u006f\u006d\u002f\u0068\u0063\u006b\u0074\u0032\u007a\u0072\u0033\u0039\u0079\u0064\u0038\u002e\u0068\u0074\u006d\u006c\u0022\u0020\u0074\u0061\u0072\u0067\u0065\u0074\u003d\u0022\u005f\u0062\u006c\u0061\u006e\u006b\u0022\u0020\u0072\u0065\u006c\u003d\u0022\u006e\u006f\u0066\u006f\u006c\u006c\u006f\u0077\u0022\u003e\u0047\u006c\u0065\u0064\u0061\u006a\u0020\u006e\u0061\u0020\u0076\u0069\u0064\u0065\u006f\u0020\u0073\u0065\u0072\u0076\u0069\u0073\u0075\u0020\u0046\u0069\u006c\u0065\u0048\u006f\u006f\u0074\u002e\u0063\u006f\u006d\u003c\u002f\u0061\u003e\u003c\u002f\u0073\u0074\u0072\u006f\u006e\u0067\u003e\u003c\u002f\u0070\u003e\u000a\u003c\u0070\u003e\u0034\u002e\u0020\u0056\u0065\u0072\u007a\u0069\u006a\u0061\u003a\u003c\u0062\u0072\u0020\u002f\u003e\u000a\u003c\u0073\u0074\u0072\u006f\u006e\u0067\u003e\u003c\u0061\u0020\u0068\u0072\u0065\u0066\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0077\u0077\u0077\u002e\u0076\u0069\u0064\u0065\u006f\u0077\u006f\u006f\u0064\u002e\u0074\u0076\u002f\u0076\u0069\u0064\u0065\u006f\u002f\u0034\u0033\u006c\u0068\u0022\u0020\u0074\u0061\u0072\u0067\u0065\u0074\u003d\u0022\u005f\u0062\u006c\u0061\u006e\u006b\u0022\u0020\u0072\u0065\u006c\u003d\u0022\u006e\u006f\u0066\u006f\u006c\u006c\u006f\u0077\u0022\u003e\u0047\u006c\u0065\u0064\u0061\u006a\u0020\u006e\u0061\u0020\u0076\u0069\u0064\u0065\u006f\u0020\u0073\u0065\u0072\u0076\u0069\u0073\u0075\u0020\u0056\u0069\u0064\u0065\u006f\u0057\u006f\u006f\u0064\u002e\u0074\u0076\u003c\u002f\u0061\u003e\u003c\u002f\u0073\u0074\u0072\u006f\u006e\u0067\u003e\u003c\u002f\u0070\u003e\u000a\u003c\u0070\u003e\u0035\u002e\u0020\u0056\u0065\u0072\u007a\u0069\u006a\u0061\u003a\u003c\u0062\u0072\u0020\u002f\u003e\u000a\u003c\u0073\u0074\u0072\u006f\u006e\u0067\u003e\u003c\u0061\u0020\u0068\u0072\u0065\u0066\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0073\u0074\u0072\u0065\u0061\u006d\u0069\u006e\u002e\u0074\u006f\u002f\u0061\u0073\u006b\u0062\u0061\u0031\u0064\u0070\u0078\u0073\u0078\u0063\u0022\u0020\u0074\u0061\u0072\u0067\u0065\u0074\u003d\u0022\u005f\u0062\u006c\u0061\u006e\u006b\u0022\u0020\u0072\u0065\u006c\u003d\u0022\u006e\u006f\u0066\u006f\u006c\u006c\u006f\u0077\u0022\u003e\u0047\u006c\u0065\u0064\u0061\u006a\u0020\u006e\u0061\u0020\u0076\u0069\u0064\u0065\u006f\u0020\u0073\u0065\u0072\u0076\u0069\u0073\u0075\u0020\u0053\u0074\u0072\u0065\u0061\u006d\u0069\u006e\u002e\u0074\u006f\u003c\u002f\u0061\u003e\u003c\u002f\u0073\u0074\u0072\u006f\u006e\u0067\u003e\u003c\u002f\u0070\u003e\u000a\u003c\u0070\u003e\u0036\u002e\u0020\u0056\u0065\u0072\u007a\u0069\u006a\u0061\u003a\u003c\u0062\u0072\u0020\u002f\u003e\u000a\u003c\u0073\u0074\u0072\u006f\u006e\u0067\u003e\u003c\u0061\u0020\u0068\u0072\u0065\u0066\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0070\u006c\u0061\u0079\u0065\u0064\u002e\u0074\u006f\u002f\u0072\u0076\u006b\u0036\u0034\u0068\u0039\u006d\u006a\u006f\u006e\u0062\u0022\u0020\u0074\u0061\u0072\u0067\u0065\u0074\u003d\u0022\u005f\u0062\u006c\u0061\u006e\u006b\u0022\u0020\u0072\u0065\u006c\u003d\u0022\u006e\u006f\u0066\u006f\u006c\u006c\u006f\u0077\u0022\u003e\u0047\u006c\u0065\u0064\u0061\u006a\u0020\u006e\u0061\u0020\u0076\u0069\u0064\u0065\u006f\u0020\u0073\u0065\u0072\u0076\u0069\u0073\u0075\u0020\u0050\u006c\u0061\u0079\u0065\u0064\u002e\u0074\u006f\u003c\u002f\u0061\u003e\u003c\u002f\u0073\u0074\u0072\u006f\u006e\u0067\u003e\u003c\u002f\u0070\u003e\u000a\u003c\u0070\u003e\u0037\u002e\u0020\u0056\u0065\u0072\u007a\u0069\u006a\u0061\u003a\u003c\u0062\u0072\u0020\u002f\u003e\u000a\u003c\u0073\u0074\u0072\u006f\u006e\u0067\u003e\u003c\u0061\u0020\u0068\u0072\u0065\u0066\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0077\u0077\u0077\u002e\u0074\u0068\u0065\u0076\u0069\u0064\u0065\u006f\u002e\u006d\u0065\u002f\u0076\u006b\u0074\u0075\u0035\u006a\u006f\u006f\u007a\u0062\u0069\u0064\u0022\u0020\u0074\u0061\u0072\u0067\u0065\u0074\u003d\u0022\u005f\u0062\u006c\u0061\u006e\u006b\u0022\u0020\u0072\u0065\u006c\u003d\u0022\u006e\u006f\u0066\u006f\u006c\u006c\u006f\u0077\u0022\u003e\u0047\u006c\u0065\u0064\u0061\u006a\u0020\u006e\u0061\u0020\u0076\u0069\u0064\u0065\u006f\u0020\u0073\u0065\u0072\u0076\u0069\u0073\u0075\u0020\u0054\u0068\u0065\u0056\u0069\u0064\u0065\u006f\u002e\u006d\u0065\u003c\u002f\u0061\u003e\u003c\u002f\u0073\u0074\u0072\u006f\u006e\u0067\u003e\u003c\u002f\u0070\u003e\u000a\u003c\u0070\u003e\u0038\u002e\u0020\u0056\u0065\u0072\u007a\u0069\u006a\u0061\u003a\u003c\u0062\u0072\u0020\u002f\u003e\u000a\u003c\u0073\u0074\u0072\u006f\u006e\u0067\u003e\u003c\u0061\u0020\u0068\u0072\u0065\u0066\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0076\u006f\u0064\u006c\u006f\u0063\u006b\u0065\u0072\u002e\u0063\u006f\u006d\u002f\u006c\u0065\u0068\u0036\u007a\u0064\u0037\u0031\u0075\u0032\u0036\u0063\u0022\u0020\u0074\u0061\u0072\u0067\u0065\u0074\u003d\u0022\u005f\u0062\u006c\u0061\u006e\u006b\u0022\u0020\u0072\u0065\u006c\u003d\u0022\u006e\u006f\u0066\u006f\u006c\u006c\u006f\u0077\u0022\u003e\u0047\u006c\u0065\u0064\u0061\u006a\u0020\u006e\u0061\u0020\u0076\u0069\u0064\u0065\u006f\u0020\u0073\u0065\u0072\u0076\u0069\u0073\u0075\u0020\u0056\u006f\u0064\u004c\u006f\u0063\u006b\u0065\u0072\u002e\u0063\u006f\u006d\u003c\u002f\u0061\u003e\u003c\u002f\u0073\u0074\u0072\u006f\u006e\u0067\u003e' data-enigmad='n'></span>

谢谢!

1 个答案:

答案 0 :(得分:1)

你有一个Javascript Unicode转义序列,与Python中使用的转义序列不同。

将序列解码为JSON; JSON是JavaScript的子集,JSON解析器知道如何处理JS字符串文字格式的特性(如处理UTF-16代理对)。

首先使用BeautifulSoup解析元素,然后对字符串值进行JSON解码(首先添加引号):

from bs4 import BeautifulSoup
import json

soup = BeautifulSoup(response.content, 'lxml')
span = soup.find(id='engimadiv5523da4eae533')
jsdata = span['data-enigmav']
data = json.loads('"{}"'.format(jsdata))

演示:

>>> span = soup.find('span')
>>> jsdata = span['data-enigmav']
>>> data = json.loads('"{}"'.format(jsdata))
>>> print(data)
2. Verzija:<br />
<strong><a href="http://www.cloudzilla.to/share/file/GBGY1061SLS2L5KKX0ITTGOLG/" target="_blank" rel="nofollow">Gledaj na video servisu CloudZilla.to</a></strong></p>
<p>3. Verzija:<br />
<strong><a href="http://filehoot.com/hckt2zr39yd8.html" target="_blank" rel="nofollow">Gledaj na video servisu FileHoot.com</a></strong></p>
<p>4. Verzija:<br />
<strong><a href="http://www.videowood.tv/video/43lh" target="_blank" rel="nofollow">Gledaj na video servisu VideoWood.tv</a></strong></p>
<p>5. Verzija:<br />
<strong><a href="http://streamin.to/askba1dpxsxc" target="_blank" rel="nofollow">Gledaj na video servisu Streamin.to</a></strong></p>
<p>6. Verzija:<br />
<strong><a href="http://played.to/rvk64h9mjonb" target="_blank" rel="nofollow">Gledaj na video servisu Played.to</a></strong></p>
<p>7. Verzija:<br />
<strong><a href="http://www.thevideo.me/vktu5joozbid" target="_blank" rel="nofollow">Gledaj na video servisu TheVideo.me</a></strong></p>
<p>8. Verzija:<br />
<strong><a href="http://vodlocker.com/leh6zd71u26c" target="_blank" rel="nofollow">Gledaj na video servisu VodLocker.com</a></strong>