0
我想用Scrapy登錄Facebook。從響應Scrapy FormRequest AtrributeError:'str'對象沒有屬性'編碼'
我已經確定Facebook的手機版沒有javascript,所以我使用它。
相關的代碼是
from loginform import fill_login_form
from scrapy.http import FormRequest
def parse(self, response):
"""Login to Facebook then pass on"""
payload = fill_login_form(
response.request.url, # https://m.facebook.com
response.body,
self.login_user,
self.login_pass
)
return FormRequest.from_response(
response.request.url,
formdata=payload,
formid='login-form',
callback=self.after_login
)
我得到的錯誤是:
File "/XXX/scraps/scraps/spiders/fb.py", line 44, in parse
return FormRequest.from_response(response.request.url, formdata=payload, formid='login-form', callback=self.after_login)
File "/XXX/venv/lib/python3.6/site-packages/scrapy/http/request/form.py", line 42, in from_response
kwargs.setdefault('encoding', response.encoding)
AttributeError: 'str' object has no attribute 'encoding'
Scrapy是默認設置。
我想我的蜘蛛登錄到m.facebook.com。我很確定這只是我的弱谷歌,但我無法確定,如何前進。