File tree Expand file tree Collapse file tree 3 files changed +5
-6
lines changed
web-scraping-with-scrapy-and-mongodb/books Expand file tree Collapse file tree 3 files changed +5
-6
lines changed Original file line number Diff line number Diff line change 11import scrapy
22
33
4- class BookItem (scrapy .Item ):
4+ class BooksItem (scrapy .Item ):
55 _id = scrapy .Field ()
66 url = scrapy .Field ()
77 title = scrapy .Field ()
Original file line number Diff line number Diff line change 11import scrapy
2-
3- from books .items import BookItem
2+ from books .items import BooksItem
43
54
65class BookSpider (scrapy .Spider ):
@@ -22,7 +21,7 @@ def parse(self, response):
2221 @scrapes url title price
2322 """
2423 for book in response .css ("article.product_pod" ):
25- item = BookItem ()
24+ item = BooksItem ()
2625 item ["url" ] = book .css ("h3 > a::attr(href)" ).get ()
2726 item ["title" ] = book .css ("h3 > a::attr(title)" ).get ()
2827 item ["price" ] = book .css (".price_color::text" ).get ()
Original file line number Diff line number Diff line change 11import unittest
22from pathlib import Path
33
4- from books .items import BookItem
4+ from books .items import BooksItem
55from books .spiders .book import BookSpider
66from scrapy .http import HtmlResponse , Request
77
@@ -29,7 +29,7 @@ def test_parse_scrapes_all_items(self):
2929 results = list (self .spider .parse (self .response ))
3030
3131 # There should be two book items and one pagination request
32- book_items = [item for item in results if isinstance (item , BookItem )]
32+ book_items = [item for item in results if isinstance (item , BooksItem )]
3333 pagination_requests = [
3434 item for item in results if isinstance (item , Request )
3535 ]
You can’t perform that action at this time.
0 commit comments