scrapy
関心のある Web ページのいくつかをスクレイピングするために、Python フレームワークを使用/学習しています。その中で、ページ内のリンクを抽出します。しかし、これらのリンクはほとんどの場合相対的です。絶対パスを取得するためにurljoin_rfc
存在する whichを使用しました。scrapy.utils.url
うまくいきました。
学習の過程で、 と呼ばれる機能に出会いましたItem Loader
。今度は、アイテム ローダーを使用して同じことを行いたいと思います。Myurljoin_rfc()
はユーザー定義関数 function にあります_urljoin(url,response)
。今すぐローダーが関数を参照するようにし_urljoin
ます。したがって、私のローダークラスではlink_in = _urljoin()
. そこで、_urljoin 宣言を に変更しました_urljoin(url, response = loader_context.response)
。しかし、私はエラーが発生しますNameError: name 'loader_context' is not defined
ここで助けが必要です。これを行うのは、読み込み中に _urljoin() を呼び出すだけでなく、コードの他の部分でも関数 _urljoin を呼び出すためです。私がひどく悪いことをしている場合は、私に知らせてください。