gpt4 book ai didi

python - Scrapy 和 Xpath 到 Google 图片上的图片链接

转载 作者:行者123 更新时间:2023-11-30 23:09:30 25 4
gpt4 key购买 nike

我一直在尝试使用 Scrapy 恢复 Google 图片查询的第一张图像的链接。

例如,我一直在尝试恢复此特定查询的第一个链接:Emma Watson - Google Images 。为了制定 Xpath,我一直在使用 Xpath Helper,它是 Google Chrome 的扩展。我尝试的第一个 XPath 如下:

.//*[@id='rg_s']/div[1]/a/@href

在扩展中返回以下内容:Xpath Helper:

 http://www.google.com/imgres?imgurl=http://images.enstarz.com/data/images/full/15421/emma-watson.jpg&imgrefurl=http://www.styliwallpapers.com/celebrities/emma-watson/&h=2332&w=3500&tbnid=DPhW7CJ1erAD0M:&zoom=1&docid=22MKylYlja8LIM&ei=9oOUVbzdHsShgwTXqYOYBw&tbm=isch&ved=0CBsQMygAMAA

这实际上是我想要的。然后我也会废弃该 url 并获取图像的 url。这就是我正在寻找的。但由于某种原因,我在 Scrapy Shell 上尝试了 Xpath 并返回 []。空!

尝试使用其他 XPath(到同一位置):

.//div[@class='rg_di rg_el ivg-i'][1]/a[@class='rg_l']/@href

仍然是相同的答案:[]。我不知道我做错了什么。你能帮我解决这个问题吗?

PS。我在Scrapy Shell中使用的内容如下:

>response.xpath(".//*[@id='rg_s']/div[1]/a/@href")
# returned: []
>response.xpath(".//div[@class='rg_di rg_el ivg-i'][1]/a[@class='rg_l']/@href")
# returned: []

需要添加的内容:当我尝试获取页面标题时,它起作用了。

>response.xpath(".//title/text()").extract()
# returns: [u'emma watson - Google Search']

最佳答案

根据我使用 scrapy view 的结果,Google 图片实际上默认加载前 20 张图像,而无需使用 JavaScript。试试这个 XPath:

//table[@class="images_table"]//img/parent::a/@href

如果您需要访问特定图像,请包装 img 结果并使用索引:

(//table[@class="images_table"]//img)[1]/parent::a/@href

关于python - Scrapy 和 Xpath 到 Google 图片上的图片链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31174010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com