将变量分配给xpath scrapy

时间:2015-10-31 13:22:09

标签: xpath web-crawler scrapy

我使用scrapy抓取网页,该网页有10个以上的链接使用| LinkExtractor进行抓取,一切正常但在抓取提取的链接时我需要获取页面网址。我没有别的方法来获取网址,但使用

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()')

由于

1 个答案:

答案 0 :(得分:1)

加载程序有两种向项添加属性的方法,并且使用add_xpathadd_value,因此您应该使用以下内容:

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