为 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_xpath
和 add_value
,所以你应该使用类似的东西:
...
il.add_value('url', response.url) # yes, response also has the url attribute
我正在使用 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_xpath
和 add_value
,所以你应该使用类似的东西:
...
il.add_value('url', response.url) # yes, response also has the url attribute