2012-09-01 132 views
0

我需要一些幫助,試圖找出如何使用scrapy框架時的XPath屬性使用變量使用變量屬性使用XPath和scrapy

如hxs.select('/ TR [@名稱=‘TAG_1’ ]/TD /文()')。提取物()

但也有100個標記,以便TAG_1,TAG_2,tag_3等 IM通過它試圖循環,但scrapy使用@名稱=「tag_示數對我 IM 「+ x 其中x是循環變量,但它不起作用 有什麼想法?

回答

1

我認爲這可能只是一個糟糕放在引號的問題,你可以試試:

for x in range(100): 
    str_selector = '/tr[@name="tag_{0}"]/td/text()'.format(x) 
    hxs.select(str_selector) 
+0

感謝您的。循環工作,但我似乎無法得到scrapy返回個別項目。它似乎只是一遍又一遍地拋棄第一個。如果在循環中使用print str_selector,我可以看到它產生不同的值,但scrapy似乎只保存第一個值。 – zoonosis

+0

你可以顯示你的HTML片段,那些tr元素是? – andrean

+0

我已經發現我需要把item = scrapyItem()放在循環中,而不是在循環之外。謝謝你的幫助。 – zoonosis