【问题标题】:Getting base64 string on scraping image src在抓取图像 src 时获取 base64 字符串
【发布时间】:2015-08-17 08:03:51
【问题描述】:

我正在从网站上抓取图像 src、标题、价格等,但它提供了 base64 字符串来代替图像 src。当我将所有这些抓取的数据附加到 uri 时,它显示错误 long uri。如何减缓这个问题?

【问题讨论】:

    标签: javascript base64 screen-scraping


    【解决方案1】:

    如果你得到一个 base64 字符串作为 img src,听起来好像图像是内联编码的。

    data:URI 是一种非常有用的方式,可以将小数据项嵌入到 URL——而不是链接到外部资源,URL 包含 实际编码数据。

     

    嵌入小红点图片的 HTML 片段:

    <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA
    AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
    9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot" />
    

    在上面的示例中,如果您要对字符串进行 base64 解码(减去 data:image/png,base64, 部分),您将获得 PNG 图像的数据,您可以将其作为文件写入磁盘。

    【讨论】:

    • 有没有办法获得实际链接而不是这个base64字符串
    • 这里没有链接,这就是重点。服务器上没有可以通过 URL 访问的文件,而是图像的数据 base64 编码字符串。
    • 删除看起来像data:image/png,base64, 的位,然后使用其余部分,您可以使用 base64 解码功能。在 PHP 中是 base64_decode,在 Javascript 中是 atob
    • 谢谢,这很有帮助
    • 与上述相同的评论。当我在浏览器中检查元素时,我肯定会看到一个 url,但是当我使用 Scrapy 时,它会将它变成一个 base64 编码的字符串。啊。
    猜你喜欢
    • 1970-01-01
    • 2014-04-15
    • 1970-01-01
    • 2020-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-07
    相关资源
    最近更新 更多