1
scrapy
の助けを借りていくつかのコース/レッスンを掻き集めていますが、これは最後のの要素をリストに収めているようです。ここ
は、問題のコードです:治療は最後の要素のみを返します
def parse_course_list(self, response):
""" Scrape list of lessons for each course """
lessons = response.css('ul.lessons-list a')
for lesson in lessons:
title = lesson.xpath("text()").extract_first().strip()
link = lesson.xpath("@href").extract_first().strip()
url = response.urljoin(link)
item = response.meta['item']
item['Lesson'] = title
item['URL'] = link
yield scrapy.Request(url, \
callback=self.parse_lesson,
meta={'item': item} \
)
だから基本的に私はレッスンをこすると、詳細ページの要求を得ています。ただし、レッスンはparse_lesson
関数では常に同じです。
ここに何かが完全に欠けていますか?
これはうまくいっていました。私は1行でやっていました。「item = reponse.meta ['item']。copy() '、それは大丈夫ですか? – Jan
はい、宣言と割り当てを分割して分かりやすくなりました。うまくいきました。) –