Я пытаюсь использовать Scrapy Spider для решения проблемы (вопрос программирования от HackThisSite):
(1) Я должен войти на сайт, указав имя пользователя и пароль (уже сделано)
(2) После этого мне нужно получить доступ к изображению с заданным URL-адресом (изображение доступно только зарегистрированным пользователям)
(3) Затем, без сохранения изображения вжесткий диск, я должен прочитать его информацию в виде буфера
(4) И результат функции заполнит форму и отправит данные на сервер сайта (я уже знаю, как это сделатьшаг)
Итак, я могу вернуться к вопросу: можно ли (используя паука) прочитать изображение, доступное только зарегистрированным пользователям, и обработать его в коде паука?
Я пытался исследовать различные методы, использование конвейеров элементов не очень хороший подход (я не хочу загружать файл).
Код, который у меня уже есть:
class ProgrammingQuestion2(Spider):
name = 'p2'
start_urls = ['https://www.hackthissite.org/']
def parse(self, response):
formdata_hts = {'username': <MY_USER_NAME>,
'password': <MY_PASSWORD>,
'btn_submit': 'Login'}
return FormRequest.from_response(response,
formdata=formdata_hts, callback=self.redirect_to_page)
def redirect_to_page(self, response):
yield Request(url='https://www.hackthissite.org/missions/prog/2/',
callback=self.solve_question_2)
def solve_question_2(self, response):
open_in_browser(response)
img_url = 'https://www.hackthissite.org/missions/prog/2/PNG'
# What can I do here?
Я рассчитываю решить эту проблему с помощью функций Scrapy, в противном случаеТо есть необходимо будет снова зайти на сайт (отправив данные формы).