2016-09-03 19 views
1

私は、治療を使用してウェブサイトにフォーム要求をしています。フォームはpdfファイルをアップロードする必要があります。どのようにScrapyでそれを行うことができますか?私はこのようにしようとしています -治療のアップロードファイル

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

エラーは何ですか? –

+0

@RafaelAlmeida - 私はそれが目的を解決していないと思う、私が提供したコードスニペットでファイルがアップロードされていないことを意味している、それは "STRING"(私はそれをファイルとして取りたい) – sagar

答えて

0

この時点で、Scrapyにはファイルをアップロードするための組み込みサポートがありません。

HTTP形式のファイルアップロードはRFC1867で指定されました。仕様によると、Content-Type: multipart/form-dataのHTTPリクエストが必要です(コードにはapplication/x-www-form-urlencoded)。

Scrapyでファイルのアップロードを実現するために、あなたがする必要があるでしょう:

  1. は、HTTPファイルのアップロードの基本的な概念を理解しましょう。
  2. FormRequestの代わりに)scrapy.Requestで始まります。
  3. 適切なContent-Typeヘッダーの値を指定します。
  4. リクエスト本体を自分で構築します。

も参照してください:How does HTTP file upload work?