无法使用xpath获取图像
由于某些原因,我无法正确使用XPath并从Nordstrom.com获取产品图像,我使用的是Scrapy,以下是我的代码,strPicture总是显示为空:无法使用xpath获取图像,xpath,scrapy,Xpath,Scrapy,由于某些原因,我无法正确使用XPath并从Nordstrom.com获取产品图像,我使用的是Scrapy,以下是我的代码,strPicture总是显示为空: from scrapy.spider import Spider from scrapy.selector import Selector from bed2.items import bed2Item import urlparse class MySpider(Spider): name = "bed2" allowe
from scrapy.spider import Spider
from scrapy.selector import Selector
from bed2.items import bed2Item
import urlparse
class MySpider(Spider):
name = "bed2"
allowed_domains = ["nordstrom.com,"nordstromimage.com"]
start_urls = ["http://shop.nordstrom.com/c/bedding-home?origin=leftnav#category=b60175057&type=category&marketingslots=2&page=1&defaultsize3=&size=&width=&color=&price=&brand=&instoreavailability=false&lastfilter=&sizeFinderId=0&resultsmode=&segmentId=0&sort=newest&sortreverse=0"]
def parse(self, response):
hxs = Selector(response)
titles = hxs.xpath("//div[@class='fashion-item']")
items = []
for titles in titles[:1]:
item = bed2Item()
item ["strTitle"] = titles.xpath("div[2]/a[1]/text()").extract()
item ["strLink"] = urlparse.urljoin(response.url, titles.xpath("div[2]/a[1]/@href").extract()[0])
item ["strPrice"] = "0"
item ["strPicture"] = titles.xpath("a/div[1]/img/@src").extract()
items.append(item)
return items
我正在抓取的URL是:
试图得到第一个产品
感谢查看源代码,在检索图片URL时,我找不到您要查找的锚定标记。省略它。此外,在加载页面后,似乎发生了一些JavaScript魔法,图像URL存储在
@data original
中
item ["strPicture"] = titles.xpath("div[1]/div/img/@data-original").extract()
不管怎样,既然这个div中没有任何进一步的图片,为什么不直接查询
//img/@data-original
?这同样适用于可以利用其class属性进行查询的标题,如//a[@class='title']/text()
或更健壮的数据(.//a[@class='title'])
谢谢Jens,javascript更改源代码的好方法!