मैं स्केपर के लिए नया हूं और अच्छी ऑनलाइन समीक्षाओं के कारण इसे आजमाने का फैसला किया। मैं स्केपर के साथ एक वेबसाइट में लॉगिन करने की कोशिश कर रहा हूँ। मैंने सेलेनियम के साथ आवश्यक कुकीज़ एकत्र करके और मशीनीकरण में जोड़कर सेलेनियम और मशीनीकरण के संयोजन के साथ सफलतापूर्वक लॉग इन किया है। अब मैं स्केरेपी और सेलेनियम के साथ कुछ ऐसा करने की कोशिश कर रहा हूं लेकिन काम करने के लिए कुछ भी नहीं लग रहा है। मैं वास्तव में यह भी बता सकता हूं कि कुछ भी काम कर रहा है या नहीं। क्या कोई मेरी मदद कर सकता हैं। नीचे मैंने क्या शुरू किया है। मुझे कुकीज़ को स्क्रैप के साथ स्थानांतरित करने की भी आवश्यकता नहीं है, लेकिन मैं यह नहीं बता सकता कि क्या चीज़ वास्तव में लॉग इन करती है या नहीं। धन्यवादकुकीज़ के साथ स्केपर प्रमाणीकरण लॉगिन
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()
आपके द्वारा नोट किए गए मुद्दों को ठीक करने के बाद मैं सफलतापूर्वक लॉगिन करने में सक्षम था! नोट: सेलेनियम लौटाई गई कुकीज़ शब्दकोश की एक सूची थी जिसे एक एकल शब्दकोश में बदला जाना था। सहायता के लिए बहुत - बहुत धन्यवाद। – JonDog
क्षमा करें, मैं stackoverflow के लिए नया हूँ। मैं वोट थक गया लेकिन यह कहता है कि वोट देने से पहले मुझे 15 प्रतिष्ठा चाहिए। मुझे उत्तर के रूप में चिह्नित करने के लिए कोई अन्य तरीका नहीं दिख रहा है .. अद्यतन - ठीक है, मैंने चेक मार्क पर क्लिक किया। मुझे लगता है यही है। – JonDog
@ जॉनडॉग..क्या आप कृपया एक फॉर्म से कुकी रूपांतरण को अन्य – Amistad