Я использую Scrapy для извлечения информации с веб-сайта.
Моя цель — использовать Scrapy для получения названий гольф-клубов, цен и т. д., отслеживания затрат в течение зимы и покупки того, что я хочу, когда цена падает.
Пока у меня есть название клуба, но одно и то же имя 38 раз. (На первой странице 38 клубов.)
Мне интересно, почему печатается одно и то же имя, а не следующее? Я использую пример, который я приводил в курсе, чтобы сделать этот текущий. Верхний набор кода — из моего курса, второй — мой.
импортировать Scrapy
class Spiderbook0Spider(scrapy.Spider):
name = "spiderbook0"
allowed_domains = ["books.toscrape.com"]
start_urls = ["https://books.toscrape.com"]
def parse(self, response):
books = response.css('article.product_pod') # Get all the books on the first page
for book in books: #Get a single book
print(book.css('h3 a::text').get())
--------------- Мой код ------------------import scrapy
class WedgepriceSpider(scrapy.Spider):
name = "wedgeprice"
allowed_domains = ["golftown.com"]
start_urls = ["https://golftown.com/en-CA/clubs/wedges/"]
def parse(self, response):
wedges = response.css("div.product-tile-top > div.product-image > a.thumb-link ")
print("***********************************")
print("***********************************")
print(wedges)
for wedge in wedges:
print(response.xpath("//*[@class = 'name-link']/@title").get())
print("***********************************")
print("***********************************")
Подробнее здесь: https://stackoverflow.com/questions/775 ... -iterating