python scrapy' str'对象没有属性'编码'

时间:2014-04-05 18:30:40

标签: python python-2.7 scrapy

这是我的蜘蛛

class AjaxSpider(BaseSpider):
    name = "AjaxSpider"
    start_urls = ['http://localhost:7908/Test.html'];

    def parse(self, response):
        open('firstResponse', 'wb').write(response.body)
        return [FormRequest.from_response('http://localhost:7908/ToLoadAjax.aspx', callback=self.parseAjax)]

    def parseAjax(self,response):
      open('AjaxResponse', 'wb').write(response.body)

我遇到了这个例外:

Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\twisted\internet\base.py", line 1201, in mainLoop
    self.runUntilCurrent()
  File "C:\Python27\lib\site-packages\twisted\internet\base.py", line 824, in runUntilCurrent
    call.func(*call.args, **call.kw)
  File "C:\Python27\lib\site-packages\twisted\internet\defer.py", line 382, in callback
    self._startRunCallbacks(result)
  File "C:\Python27\lib\site-packages\twisted\internet\defer.py", line 490, in _startRunCallbacks
    self._runCallbacks()
--- <exception caught here> ---
  File "C:\Python27\lib\site-packages\twisted\internet\defer.py", line 577, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "testAjax\spiders\Spider.py", line 13, in parse
    return [FormRequest.from_response('http://localhost:7908/ToLoadAjax.aspx', callback=self.parseAjax)]
  File "C:\Python27\lib\site-packages\scrapy-0.20.2-py2.7.egg\scrapy\http\request\form.py", line 35, in from_response
    kwargs.setdefault('encoding', response.encoding)
exceptions.AttributeError: 'str' object has no attribute 'encoding'

我正在尝试使用fromrequest

来获取帖子

我可以在chrome webkit xhr中看到帖子调用。

1 个答案:

答案 0 :(得分:0)

看起来像from_response需要一个响应对象。不是URL字符串。

Documentation