始める無料で始める

ペンネーム

この演習では、完成すると DataCamp のコースディレクトリを短縮したページから著者名を取得するスパイダー・クラスを用意しています。短縮版のURLは変数 url_short に保存されています。あなたの役割は、スパイダーの parse メソッド内で、著者名を抽出してリストにすることです。

知っておくべき点は2つあります。

  • ここでは response オブジェクトと css メソッドを使用します。
  • コースの著者名は、クラス course-block__author-name に属する段落 p 要素内のテキストとして定義されています。

用意した関数 inspect_spider() を使ってスパイダーを確認できます。見つけた著者名を出力します!

この章の本演習および以降の演習は、読み込みに少し時間がかかる場合があります。

この演習はコースの一部です

Pythonで学ぶWebスクレイピング

コースを見る

演習の手順

  • start_requests メソッドで呼び出されたときに正しく動作するよう、parse メソッドに必要な引数を補ってください。
  • parse メソッド内で、クラス course-block__author-name に属する段落要素からテキストを抽出して作成した文字列のリスト author_names作成してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Import the scrapy library
import scrapy

# Create the Spider class
class DCspider( scrapy.Spider ):
  name = 'dcspider'
  # start_requests method
  def start_requests( self ):
    yield scrapy.Request( url = url_short, callback = self.parse )
  # parse method
  def parse( ____ ):
    # Create an extracted list of course author names
    ____
    # Here we will just return the list of Authors
    return author_names
  
# Inspect the spider
inspect_spider( DCspider )
コードを編集して実行