Я пытаюсь получить данные о спецификациях продуктов на этом сайте . По умолчанию используется вид Цены , но я хочу перейти к представлению Характеристики . Поскольку кнопка выполняет запрос POST, я попытался смоделировать его с помощью FormRequest, но ничего не происходит.
Вот код, который я использую:
import scrapy
from scrapy import Spider
from scrapy.http import FormRequest
from scrapy.utils.response import open_in_browser
from Demo.items import DemoItem, Distributor
class ProductSpider(scrapy.Spider):
name='nameCode'
start_urls = ['https://octopart.com/electronic-parts/integrated-circuits-ics' ]
def parse(self,response):
token = response.xpath('//button[@name="serp-view"]/@value').extract_first()
return FormRequest.from_response(response, url="https://octopart.com/electronic-parts/integrated-circuits-ics", formdata={'serp-view':token}, callback=self.scrape_pages)
def scrape_pages(self,response):
open_in_browser(response)
Выход:
[scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
[scrapy.core.engine] DEBUG: Crawled (200) <GET https://octopart.com/electronic-parts/integrated-circuits-ics> (referer: None)
[scrapy.core.engine] DEBUG: Crawled (200) <GET https://octopart.com/electronic-parts/integrated-circuits-ics?q=> (referer: https://octopart.com/electronic-parts/integrated-circuits-ics)
[scrapy.core.engine] INFO: Closing spider (finished)