【问题标题】:using variables in attributes using xpath & scrapy使用 xpath 和 scrapy 在属性中使用变量
【发布时间】:2012-09-01 14:10:51
【问题描述】:

我需要一些帮助来弄清楚在使用 scrapy 框架时如何在 xpath 属性中使用变量

例如 hxs.select('/tr[@name="tag_1"]/td/text()').extract()

但是有 100 个标签,所以 tag_1、tag_2、tag_3 等 我试图循环通过它,但scrapy在我身上出错 我正在使用@name="tag_" + x 其中 x 是循环变量,但它不起作用 有什么想法吗?

【问题讨论】:

    标签: python xpath scrapy


    【解决方案1】:

    我认为这可能只是引号放置不当的问题,请尝试以下操作:

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

    【讨论】:

    • 谢谢。循环有效,但我似乎无法返回单个项目。它似乎只会一遍又一遍地废弃第一个。如果在循环中使用 print str_selector 我可以看到它产生不同的值但scrapy似乎只保存第一个。
    • 你能在那些 tr 元素的位置显示你的 html 的 sn-p 吗?
    • 我发现我需要将 item = scrapyItem() 放在循环内而不是循环外。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多