2014-06-21 59 views
1

我只是想知道是否有一種方法可以將tr添加到tr [1],如 this - > tr [1 + num] ... I嘗試tr [1 + 9],它的工作,但是當我將它改爲num,當然它給了我一個錯誤。謝謝!Scrapy:向xpath數組添加一個變量

items = [] 
    num = 1 
    hxs = HtmlXPathSelector(response) 
    dir = hxs.select('/html/body/div/table') 
    for i, tr in enumerate(hxs.select('/html/body/div/table//tr[count(./td)=2]')): 
     if (i % 7 == 0): 
      if (i > 0): items.append(item) 
      item = CraigslistSampleItem() 
     idx = i % 7 
     if(idx == 0): 
      item[rn[idx]] = tr.select('./td[2]//text()').extract()[0] 
      item ["title"] = dir.select('//tr[num]/td[2]/b/text()').extract() 
      num = num + 9 
+0

你得到什麼錯誤不能做什麼呢? –

+1

給出的xpath爲'select('// tr [%s]/td [2]/b/text()'%str(num))' – Vipul

+0

列表索引超出範圍。對我來說唯一的問題是tr [1 + 9]起作用的tr [num] ... – chano

回答

1

給出的XPath爲select('//tr[%s]/td[2]/b/text()'%str(num))

num是可變的和num內''任何意義

+0

即時通訊不是很好用蟒蛇真的... – chano

+1

:) SO是一個不錯的地方。上個月,我也學習了scrapy和selenium以供網絡抓取 – Vipul