Способ перехода по ссылкам в scrapy - просто получить объект scrapy.Request
с URL-адресом и анализом, который вы хотите использовать для обработки этой ссылки. Из учебника по документации Scrapy «Механизм Scrapy по следующим ссылкам: когда вы выдаете запрос в методе обратного вызова, Scrapy запланирует отправку этого запроса и зарегистрирует метод обратного вызова, который будет выполнен после завершения этого запроса».
Я бы порекомендовал проверить учебник в документации по Scrapy здесь , особенно в разделе "По ссылкам".
В вашем конкретном примере c это код, который заставит его работать. Помните, что URL-адрес вашего продукта должен быть полным, и, возможно, адрес, по которому вы его получаете, имеет только относительный URL-адрес.
name = "shein_spider"
start_urls = [
"https://www.shein.com/Men-Pants-c-1978.html?icn=men-pants&ici=www_tab02navbar02menu01dir06&scici=navbar_3~~tab02navbar02menu01dir06~~2_1_6~~real_1978~~~~0~~0"
]
def parse(self, response):
for item in response.css('.js-good'):
product_url = item.css('.category-good-name a::attr(href)').get()
yield scrapy.Request(product_url, callback=self.parse_item)
def parse_item(self, response):
# Do what you want to do to process the product details page #