Я использую Scrapy, чтобы почистить сайт.После того, как я захожу на этот веб-сайт, мне нужно получить значение идентификатора каждой категории и использовать это значение для перенаправления на веб-страницу JSON, где находятся данные, которые мне нужно почистить.На изображении ниже приведен частичный снимок HTML-кода, показывающий категории вместе с их идентификатором значения, который мне нужен.Мне нужно это значение идентификатора, чтобы я мог подключить его в конце этого URL-адреса и перенаправить на этот URL-адрес."http://www.starcitygames.com/buylist/search?search-type=category&id=" И мне нужно сделать это для всех категорий. У меня есть код, который я получил далеко ниже, но сейчас использую xpath для получения этих идентификаторов, но он возвращает весь список идентификаторов сразу, а не одинза раз. Пус он дает мне другие данные, которые мне не нужны.
HTML-код
В настоящее время, что я получаю для category_id
import scrapy
import json
from scrapy.spiders import Spider
from scrapy_splash import SplashRequest
from ..items import NameItem
class LoginSpider(scrapy.Spider):
name = "LoginSpider"
start_urls = ["http://www.starcitygames.com/buylist/"]
def parse(self, response):
return scrapy.FormRequest.from_response(
response,
formcss='#existing_users form',
formdata={'ex_usr_email': 'email@example.com', 'ex_usr_pass': 'passowrd'},
callback=self.after_login
)
def after_login(self, response):
item = NameItem()
category_id = response.xpath('//*[@id="bl-category-options"]/option/@value')