【问题标题】:How to decode html hex elements?如何解码 html 十六进制元素?
【发布时间】:2015-04-07 18:48:20
【问题描述】:

我试图抓取的网站的一部分有这个奇怪的十六进制值块而不是字符。如何用 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>

谢谢!

【问题讨论】:

  • 你使用的是哪个模块?
  • 我编辑了问题,我只使用了 urllib.request,但我尝试了漂亮的汤
  • 是英文网站还是其他语言
  • 它是克罗地亚语,但 charset 是 utf-8 ... 其他字符解码得很好,我认为这是他们的某种加密,因为它包含电影的链接。但是当我用 Chrome 检查元素时,这个块被解码了,我可以看到文本。我也希望能够通过 python 对其进行解码。你可以在这里看到解码后的文本ddecode.com/hexdecoder/…
  • 试试 beautifulsoup 而不是 urllib..

标签: python html unicode hex decode


【解决方案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>

【讨论】:

    猜你喜欢
    • 2020-11-11
    • 1970-01-01
    • 2015-12-23
    • 2018-09-27
    • 1970-01-01
    • 1970-01-01
    • 2020-06-15
    • 1970-01-01
    • 2015-02-14
    相关资源
    最近更新 更多