Как использовать FormRequest для публикации форм с несколькими одноименными вводами? - PullRequest
0 голосов
/ 26 ноября 2018

Я пишу сканер веб-страниц со скрапом для работы с формами.Проблема в том, что я столкнулся с формой с большим количеством входов с тем же именем.Теги выглядят так:

<input type="text" name="CRN_IN" size="6" maxlength="5" ID="crn_id1" />
<input type="text" name="CRN_IN" size="6" maxlength="5" ID="crn_id2" />
<input type="text" name="CRN_IN" size="6" maxlength="5" ID="crn_id3" />

Единственное, что их отличает, - это атрибут ID.И я хочу заполнить тот, кто ID = 'crn_id1' с некоторым числом.Однако, насколько я знаю, scrapy может заполнять пробелы только с помощью атрибута name, используя formdata из метода from_response.Может кто-нибудь сказать мне, как использовать метод from_response для решения моей проблемы.Или есть какие-то другие методы, чтобы решить (но в рамках scrapy).Большое спасибо.

Вот часть HTML-кода с сайта. Ввод с одинаковыми именами

1 Ответ

0 голосов
/ 26 ноября 2018

Метод from_response является только помощником для заполнения входных аргументов указанной формы, которую вы хотите запросить, но он по-прежнему является FormRequest, где вы всегда можете переопределить аргумент formdataотправить свои собственные входные аргументы:

yield FormRequest.from_response(
    response=response,
    formdata={
        myinput='myvalue',
    }
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...