y抓-不明白这个json的来源

时间:2018-09-08 11:18:05

标签: python scrapy

我正在抓紧抓取我的第一个爬虫,并尝试获取没有alt =“”属性的所有图像。
所以我的搜寻器找到了所有没有alt的图像,但是给了我不了解的json项。这是一个示例json输出:

[
 "[\"data:image/gif;base64,R0lGODdhAQABAPAAA///wAAACwAAAAAAQABAEACAkQBADs=\"]",
 "[\"https://tobier.de/media/2018/06/logo2-1.png\"]",
 "[\"data:image/gif;base64,R0lGODdhAQABAPAAAP///wAAACwAAAAAAQABAEACAkQBADs=\"]",
 "[\"https://tobier.de/media/2018/07/12548893_1089313591090351_8553746080250989501_n.jpg\"]",
 "[\"data:image/gif;base64,R0lGODdhAQABAPAAAP///wAAACwAAAAAAQABAEACAkQBADs=\"]",
 "[\"https://tobier.de/media/2018/07/16729432_1368587256496315_1586875734109631011_n.jpg\"]"
]

我的问题: "data:image/gif..."项是什么?为什么在其中?

我的图像的Python代码:

def getImages(self, response):
    images = response.xpath('//img')
    imagesWithout = []
    for img in images:
        alt = img.xpath('./@alt').extract()
        if not alt:
           imagesWithout.append( img.xpath('./@src').extract() )
    return json.dumps(imagesWithout)

编辑: 在抓取的Website上,没有图像标签base64 src。

2 个答案:

答案 0 :(得分:0)

如果您查找页面的源代码(这适用于chrome和firefox):

view-source:https://tobier.de/wordpress-custom-post-type/

例如,您有这个

<img class="figure-img img-fluid rounded" src="data:image/gif;base64,R0lGODdhAQABAPAAAP///wAAACwAAAAAAQABAEACAkQBADs=" data-lazy-src="https://tobier.de/media/2018/07/wordpress-custom-post-type-1.png" alt="wordpress custom post type" itemprop="contentUrl"/>

那是您在json中获得的第一个。

可能是一些Wordpress特定的图像。

答案 1 :(得分:-1)

代码看起来像它的本意。

陌生的src标记是一种技巧,here

我转到了网页链接,并在base 64中找到了至少一张包含数据的img

<span class="ez-toc-section" id="Permalinks_aktualisieren">Permalinks aktualisieren</span></h3><p>Erstellen wir im Backend nun einen Mitarbeiter, sehen wir unter dem Title den Permalink. Wie konfiguriert, wird zwischen der Domain und dem Mitarbeiter-Name nun der Slug &#8222;mitarbeiter&#8220; ausgegeben.</p><figure class="figure" itemscope itemtype="http://schema.org/ImageObject"> <img class="figure-img img-fluid rounded" src="data:image/gif;base64,R0lGODdhAQABAPAAAP///wAAACwAAAAAAQABAEACAkQBADs=" data-lazy-src="https://tobier.de/media/2018/07/permalink.png" alt="post type permalink" itemprop="contentUrl"/>