2016-09-03 2 views
1

Я делаю запрос формы на веб-сайт, используя scrapy. Форма должна загрузить файл PDF, как мы можем это сделать в Scrapy. Я пробую это как -Файл загрузки Scrapy

FormRequest(url,callback=self.parseSearchResponse,method="POST",formdata={'filename':'abc.xyz','file':'path to file/abc.xyz'}) 
+0

Что ошибка? –

+0

@ RafaelAlmeida - Я думаю, что это не решение цели, я имею в виду, что файл не загружается кодом snipplet, который я предоставил, он берет путь как «STRING» (я хочу, чтобы он воспринимал его как файл) – sagar

ответ

0

В данный момент Scrapy не имеет встроенной поддержки для загрузки файлов.

Загрузка файлов через формы в HTTP указана в RFC1867. Согласно спецификации, требуется HTTP-запрос с Content-Type: multipart/form-data (в вашем коде это будет application/x-www-form-urlencoded).

Для достижения загрузки файла с Scrapy, вам потребуется:

  1. Разберитесь с основными понятиями загрузки HTTP файла.
  2. Начать с scrapy.Request (вместо FormRequest).
  3. Дайте правильное значение Content-Type.
  4. Соберите тело запроса самостоятельно.

Смотрите также: How does HTTP file upload work?

Смежные вопросы