Python xpath只适用于第一个图像

Python xpath只适用于第一个图像,python,python-2.7,xpath,scrapy,Python,Python 2.7,Xpath,Scrapy,我正在浏览这个网站 我想得到这个标签div[@id='propertyPhoto'] 我试过这个 .//div[@id='propertyPhoto']//img/@src 我做了一个循环来提取src,但是我只得到了第一个图像src 请提供帮助只有主图像位于分区#属性照片中。其他在li#propertyPhotoMini0,li#propertyPhotoMini1 所以XPath应该稍加修改以匹配两者id它们的属性都以propertyPhoto开头;您可以使用以下XPath: .//*[s

我正在浏览这个网站

我想得到这个标签
div[@id='propertyPhoto']

我试过这个

.//div[@id='propertyPhoto']//img/@src
我做了一个循环来提取src,但是我只得到了第一个图像src


请提供帮助

只有主图像位于
分区#属性照片中
。其他在
li#propertyPhotoMini0
li#propertyPhotoMini1

所以XPath应该稍加修改以匹配两者
id
它们的属性都以
propertyPhoto
开头;您可以使用以下XPath:

.//*[starts-with(@id, 'propertyPhoto')]//img/@src
例如:

import urllib
from scrapy.selector import Selector
url = 'http://www.propertyfinder.ae/en/buy/villa-for-sale-dubai-jumeirah-park-1849328.html?img/0'
h = urllib.urlopen(url).read()
root = Selector(text=h, type='html')
for url in root.xpath(".//*[starts-with(@id, 'propertyPhoto')]//img/@src").extract():
    print(url)
输出:

http://c1369023.r23.cf3.rackcdn.com/1849328-1-wide.jpg
http://c1369023.r23.cf3.rackcdn.com/1849328-1-mini.jpg
http://c1369023.r23.cf3.rackcdn.com/1849328-2-mini.jpg
http://c1369023.r23.cf3.rackcdn.com/1849328-3-mini.jpg
http://c1369023.r23.cf3.rackcdn.com/1849328-4-mini.jpg
http://c1369023.r23.cf3.rackcdn.com/1849328-5-mini.jpg
http://c1369023.r23.cf3.rackcdn.com/1849328-6-mini.jpg
http://c1369023.r23.cf3.rackcdn.com/1849328-7-mini.jpg
http://c1369023.r23.cf3.rackcdn.com/1849328-8-mini.jpg
http://c1369023.r23.cf3.rackcdn.com/1849328-9-mini.jpg
http://c1369023.r23.cf3.rackcdn.com/1849328-10-mini.jpg

你怎么能得到这个结果呢,我刚刚在shell上测试了xpath,就像这样
s=sel.xpath(“.//div[@id='propertyPhoto']//img/@src”)
然后我检查了
s
,得到了第一个image@MarcoDinatsoli,我更新了答案。请重新加载页面。更新后,我从shell获得了正确的图像。然而,当我试图像这样从我的爬行器中为objects:results.extend(oneObject.extract())中的oneObject获取它时,我只得到了src的字母。@MarcoDinatsoli,试试
results=sel.xpath(THE_xpath.extract())
是的,我已经尝试过了。事实上,这就是我写这些信的原因。我试着不加提取物,但我也犯了错误