я хочу отправить форму, используя scrapy.FormRequest.from_response - PullRequest
0 голосов
/ 03 октября 2018

** Это мой код для удаления элемента, который я хочу, это на самом деле загрузить данные из пагинации кнопка следующей кнопки пагинация следующей кнопки есть href = "javascript: __ postman ()" я использовал селен, но нажатие кнопки селена не соответствует этомувернет ошибку, что javascript не найден **

import scrapy
import json
import request


class QuotesSpider(scrapy.Spider):
    name = "product_scraper"
    allowed_domains = ["ozhat-turkiye.com"]
    with open('brands.json') as data_file:
        data_item = json.load(data_file)
        start_urls = list()
    for item in data_item:
        start_urls.append(item["url"])

    def parse_cachesList(self, response):
        print("1")

    def parse(self, response):
        urls = response.css("div.productimage img::attr(src)").extract()
        list_urls = list()
        list_urls.append(response.urljoin(urls[0]))
        product_list = list()
        total_pages = response.css("span#maincontent_DataPager a:nth-last-child(3)").extract_first().strip()        # total_pages = total_pages.text
        total_pages = total_pages.split(">")[1]
        total_pages = int(total_pages.split("<")[0])
        for i in range(0, total_pages):
            data = response.css("div.tabledivinlineblock a::attr(href)").extract_first()
            print(data)
            next_page = response.css("span#maincontent_DataPager span.decornonepagerlink ~ a::attr(href)").extract_first()
            next_page = next_page.split("'")[1]
            yield scrapy.FormRequest.from_response(
                response,
                formid="frm1",
                formdata={'__EVENTTARGET': next_page,
                          '__EVENTARGUMENT': '', },
                callback=self.parse_cachesList
            )

Теперь я хочу вручную отправить форму и загрузить все данные через нумерацию страниц.

...