1. ホーム

Scrapy エラー : exceptions.AttributeError: 'HtmlResponse' オブジェクトには 'urljoin' という属性がありません。

2022-02-22 20:31:03
<パス

目次

scrapyフレームワークでファイルをクロールし、絶対URLを構築しています。Scrapy エラー : 例外。'urljoin'

原因
Scrapy> = 0.24.2 では、HtmlResponse クラスにまだ urljoin() メソッドがありません。urlparse.urljoin()を使用することができます。

full_url = urlparse.urljoin(response.url, href.extract())


しかし、urlparseモジュールはインストールするのが少し難しいので、先にurllibモジュールをインストールします:。

from urllib.parse import urljoin
full_url = urljoin(response.url, href)


ここでのhrefは'animate_decay.py'です。
ここでのresponse.urlは' https://matplotlib.org/examples/animation/animate_decay.html '
ここでのfull_urlは、' https://matplotlib.org/examples/animation/animate_decay.py '
これで、完全なurlが得られます。