0

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 を呼び出すためです。私がひどく悪いことをしている場合は、私に知らせてください。

4

1 に答える 1