авторизация авторизации с помощью cookie

Я новичок в scrapy и решил попробовать его из-за хороших онлайн-обзоров. Я пытаюсь войти на сайт с помощью scrapy. Я успешно вошел в систему с комбинацией селена и механизации, собирая необходимые куки с селеном и добавляя их для механизации. Теперь я пытаюсь сделать что-то подобное с помощью scrapy и selenium, но, похоже, не может заставить что-то работать. Я даже не могу сказать, работает ли что-то или нет. Кто-нибудь может мне помочь, пожалуйста. Ниже приводится то, что начал Ив. Возможно, мне даже не понадобится перенести куки с помощью scrapy, но я не могу сказать, действительно ли вещь когда-либо входит в систему или нет. благодаря

from scrapy.spider import BaseSpider from scrapy.http import Response,FormRequest,Request from scrapy.selector import HtmlXPathSelector from selenium import webdriver class MySpider(BaseSpider): name = 'MySpider' start_urls = ['http://my_domain.com/'] def get_cookies(self): driver = webdriver.Firefox() driver.implicitly_wait(30) base_url = "http://www.my_domain.com/" driver.get(base_url) driver.find_element_by_name("USER").clear() driver.find_element_by_name("USER").send_keys("my_username") driver.find_element_by_name("PASSWORD").clear() driver.find_element_by_name("PASSWORD").send_keys("my_password") driver.find_element_by_name("submit").click() cookies = driver.get_cookies() driver.close() return cookies def parse(self, response,my_cookies=get_cookies): return Request(url="http://my_domain.com/", cookies=my_cookies, callback=self.login) def login(self,response): return [FormRequest.from_response(response, formname='login_form', formdata={'USER': 'my_username', 'PASSWORD': 'my_password'}, callback=self.after_login)] def after_login(self, response): hxs = HtmlXPathSelector(response) print hxs.select('/html/head/title').extract() 

One Solution collect form web for “авторизация авторизации с помощью cookie”

Ваш вопрос больше связан с проблемой отладки, поэтому в моем ответе будут только некоторые заметки по вашему вопросу, а не точный ответ.

 def parse(self, response,my_cookies=get_cookies): return Request(url="http://my_domain.com/", cookies=my_cookies, callback=self.login) 

my_cookies=get_cookies – здесь вы назначаете функцию, а не результат. Я думаю, вам не нужно передавать какую-либо функцию здесь как параметр вообще. Должен быть:

 def parse(self, response): return Request(url="http://my_domain.com/", cookies=self.get_cookies(), callback=self.login) 

cookies для Request должен быть dict – пожалуйста, проверьте, действительно ли это dict.

Я даже не могу сказать, работает ли что-то или нет.

Поместите некоторые отпечатки в обратные вызовы, чтобы выполнить выполнение.

  • когда бы python застрял в функции time.sleep?
  • NoSuchElementException при попытке использования Selenium Python
  • Как запустить код веб-страницы с помощью PhantomJS через GhostDriver (selenium)
  • Помогите Firefox не реагировать при использовании Selenium WebDriver с Python?
  • Аргументы, которые не применяются к хромированию Google в Selenium с помощью python
  • Selenium Python Firefox webdriver: невозможно изменить профиль
  • Запуск Selenium Webdriver с прокси-сервером в Python
  • Выбор элемента с текстом с помощью Selenium WebDriver
  •  
    Interesting Posts for Van-Lav

    Возврат строчной строки ASCII из (возможно, кодированной) строки, извлеченной с использованием urllib2 или BeautifulSoup

    Как получить ключ словаря как переменную непосредственно в Python (не путем поиска по значению)?

    Как сделать разрыв строки для троичного оператора Python?

    Остановить выполнение скрипта с помощью execfile

    Как проверить, содержит ли строка только буквы в Python?

    TypeError – Translate принимает один аргумент. (2 данный) Python

    Проверить работу оператора

    Запуск пичеток удаленно с flymake и бродягой в emacs?

    Как сделать много-много запросов Django, чтобы найти книгу с двумя авторами?

    Как я могу обслуживать небуферизованный контент CGI из Apache 2?

    Обновление с Python 3.5.1 до 3.6: SyntaxError: «выход» внутри асинхронной функции

    Как выбрать элемент с Selenium Python xpath

    Как я могу получить доступ к переменным, установленным в функции настройки nosetests python

    Java: эквивалент диапазона Python (int, int)?

    Вызовите скрипт python из ruby

    Python - лучший язык программирования в мире.