如何从HTML抓取图片网址?

时间:2019-07-20 16:45:42

标签: python web web-scraping scrapy

我在获取网站上图片的网址时遇到了麻烦,我想知道是否能得到一些帮助。

我想在网站上获得卡片的图片网址,但是使用xpath只能给我网站徽标的图片网址。

scrapy shell https://db.ygoprodeck.com/card/?search=7%20Colored%20Fish

response.xpath('//img')
Out[2]: [<Selector xpath='//img' data='<img src="https://db.ygoprodeck.com/sear'>]

应该有另一个指向卡片图片的img链接,但它没有显示

1 个答案:

答案 0 :(得分:3)

因此,如何完成图像有些逻辑。每张卡的页面上都有一个ID。 ID是图像的名称。他们也会向您隐藏此ID。

他们通过页面顶部的meta属性加载了很多此类信息。通常,JS会放在脚本或meta属性的顶部。 shopify商店尤其如此。

例如,如果您在查找与此图像有关的内容时遇到麻烦,请获取图像名称,然后在文档的其余部分中搜索该关键字的引用。您通常可以跟踪信息或至少弄清楚信息的加载方式。当网站需要“令牌”时,这通常很有用,它们通常会在上一页的某处提供令牌。

# with css
In [6]: response.css('meta[property="og:image"]::attr(content)').extract_first()                                                                                                                                                                                                     
Out[6]: 'https://ygoprodeck.com/pics/23771716.jpg'
# with xpath
In [8]: response.xpath('//meta[@property="og:image"]/@content').extract_first()                                                                                                                                                                                                      
Out[8]: 'https://ygoprodeck.com/pics/23771716.jpg'