私はスクラップに新しいので、良いオンラインレビューのために試してみることにしました。私はscrapyでウェブサイトにログインしようとしています。私はセレンの組み合わせでうまくログインし、必要なクッキーをセレンで収集して機械化することによって機械化しました。今私は、治療やセレンと似たようなことをしようとしていますが、何もできないようです。私は本当に何かが働いているかどうかわからない。誰でも助けてくれますか?以下はIveが始めたものです。私は甘いものでクッキーを転送する必要はないかもしれませんが、事が実際にログインしているかどうかはわかりません。 おかげクッキーを使用したスクワプリ認証ログイン
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()
問題を修正した後、私は正常にログインできました!注:セレンが返すクッキーは、辞書のリストを1つの辞書に変更する必要がありました。助けてくれてありがとう。 – JonDog
申し訳ありませんが、私は新しいstackoverflowに。私は投票に疲れましたが、私は投票する前に15の評判が必要だと言います。私はいずれかの答えとしてマークする他の方法が表示されない..更新 - 確認、私はチェックマークをクリックした。私はそうだと思います。 – JonDog
@ JohnDog..あなたは、最新のバージョンであるScrapy 0.24の中で、あるフォームから別のフォームへのクッキー変換をどのように扱いましたか? – Amistad