为 xpath scrapy 分配一个变量

Assign a variable to xpath scrapy

我正在使用 scrapy 抓取网页,该网页有 10 多个链接可以使用 |LinkExtractor 进行抓取,一切正常,但在抓取提取的链接时我需要获取页面 url。我没有其他方法可以得到 url,只能使用

response.request.url

如何将该值分配给

il.add_xpath('url', response.request.url)

如果我这样做,我会得到错误:

          File "C:\Python27\lib\site-packages\scrapy\selector\unified.py", line
100, in xpath
            raise ValueError(msg if six.PY3 else msg.encode("unicode_escape"))
        exceptions.ValueError: Invalid XPath: http://www.someurl.com/news/45539/
title-of-the-news

而描述是这样的(仅供参考):

il.add_xpath('descrip', './/div[@class="main_text"]/p/text()')

谢谢

加载器提供了两种向项目添加属性的方法,add_xpathadd_value,所以你应该使用类似的东西:

...
il.add_value('url', response.url) # yes, response also has the url attribute