総仕上げクローラー
この演習では、これまでに学んだことを存分に発揮していただきます。ここでは、あるスパイダーの parse 関数を書き、その後いくつかの空欄を埋めてスパイダーを完成させます。DataCamp のコースディレクトリページでは、各コースにタイトルと短いコース説明があります。このスパイダーは、コースディレクトリからコースのタイトルと短いコース説明をスクレイピングするために使います。今回はリンクをたどる必要はありません。必要な情報は次のとおりです。
- コースタイトルは、クラスに文字列
block__title(アンダースコア 2 本)を含むh4要素内のテキストで定義されています。 - 短いコース説明は、クラスに文字列
block__description(アンダースコア 2 本)を含む段落p要素内のテキストで定義されています。
この演習はコースの一部です
Pythonで学ぶWebスクレイピング
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# parse method
def parse(self, response):
# Extracted course titles
crs_titles = response.xpath(____).extract()
# Extracted course descriptions
crs_descrs = response.xpath(____).extract()
# Fill in the dictionary: it is the spider output
for crs_title, crs_descr in zip(crs_titles, crs_descrs):
dc_dict[crs_title] = crs_descr