scrapy shell
を使用し、基本認証資格情報を必要とするURLのテスト応答データを使用します。私はscrapyシェルのドキュメントをチェックしようとしましたが、そこにそれを見つけることができませんでした。URLと基本認証資格情報を持つscrapyシェルはどのように使用できますか?
私はscrapy shell 'http://user:[email protected]'
で試しましたが、うまくいきませんでした。 誰かが私がそれをどのように達成できるか知っていますか?
scrapy shell
を使用し、基本認証資格情報を必要とするURLのテスト応答データを使用します。私はscrapyシェルのドキュメントをチェックしようとしましたが、そこにそれを見つけることができませんでした。URLと基本認証資格情報を持つscrapyシェルはどのように使用できますか?
私はscrapy shell 'http://user:[email protected]'
で試しましたが、うまくいきませんでした。 誰かが私がそれをどのように達成できるか知っていますか?
あなただけのシェルを使用する場合、あなたはこのような何か行うことができます:fetch
は、シェルセッションを更新するために、現在の要求を使用して
>> from w3lib.http import basic_auth_header
>> from scrapy import Request
>> auth = basic_auth_header(your_user, your_password)
>> req = Request(url="http://example.com", headers={'Authorization': auth})
>> fetch(req)
:
$ scrapy shell
とシェル内部を。
ありありhttpauth middlewareです。
ていることを確認しHTTPAuthMiddlewareは、単に定義する設定で有効になっている:あなたのクモのクラス変数として
class MySpider(CrawSpider):
http_user = 'username'
http_pass = 'password'
...
。
また、設定でミドルウェアが有効になっている場合は、URLにログイン資格情報を指定する必要はありません。
スパイダーの代わりにシェルを使用したい – Rohanil
シェルはプロジェクトリソースを使用します。 –
@Rohanil try 'scrapy shell' http://www.example.org''にアクセスし、設定にミドルウェアが含まれていることを確認してください。また、クラス名としてログイン名を指定してください。 –
あなたはスパイダーの中でどうやってログインしていますか? – eLRuLL
スパイダーで[HttpAuthMiddleware](https://doc.scrapy.org/en/latest/topics/downloader-middleware.html#scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware)を使用していますが、スパイダーの代わりにシェルを使用したいと思います。 – Rohanil
プロジェクトディレクトリからシェルコマンドを実行する限り、動作します。また、ミドルウェアでは、URLに 'user:password'は必要ありません。中程度のものがあなたのために処理します。 –