1
最近、私はScrapyを学んでいます。私はzoominfoをかき集めたいと思います。私はuser_login関数を書いています。しかし、私はデータスクレイピングを達成する検索ページにリダイレクトできませんでした。私はリダイレクトしたいURLがhttp://subscriber.zoominfo.com/zoominfo/
scrapy-ユーザーログイン機能を達成した後別のページにリダイレクトする方法
はここに私のコードですです
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import scrapy
from scrapy.selector import Selector
from scrapy.http import Request, FormRequest
from tutorial.items import TutorialItem
class LoginSpider(scrapy.Spider):
name = 'zoominfo'
login_page = ['https://www.zoominfo.com/login']
start_urls = [
'http://subscriber.zoominfo.com/zoominfo/',
]
headers = {
"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Encoding":"gzip, deflate, br",
"Accept-Language":"en-US,en;q=0.5",
"Connectionc":"keep-alive",
"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko/20100101 Firefox/50.0",
"Referer":"https://www.zoominfo.com/login/"
}
def init_request(self):
return Request(url=self.login_page, callback=self.login)
def login(self, response):
print "Preparing Login"
return FormRequest.from_response(
response,
headers=self.headers,
formdata={
'username':username,
'password':password},
callback=self.after_login,
dont_filter = True,
)
def after_login(self, response):
if username in response.body:
self.log("Success")
self.initialized()
else:
self.log("Bad times")
def parse(self, response):
base_url = 'http://subscriber.zoominfo.com/zoominfo/'
text = Selector(response)
item = TutorialItem()
item['title'] = text.xpath('//title/text()').extract()
print {'title':item["title"]}
request = Request(base_url, callback=self.parse)
メイン出力は以下の通りです:
2017-01-09 16:52:58 [scrapy.core.engine] INFO: Spider opened
2017-01-09 16:52:59 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2017-01-09 16:52:59 [scrapy.core.engine] DEBUG: Crawled (200) <GET http://subscriber.zoominfo.com/zoominfo/> (referer: None)
{'title': []}
2017-01-09 16:52:59 [scrapy.core.engine] INFO: Closing spider (finished)
出力プリントどちらも「準備ログイン」正しいタイトルを印刷しません。誰かが私にいくつかのヒントを与えることを願っています。本当にありがとうございます
仲間ねえ、私は「準備ログイン」示す出力、あなたのアプローチを踏襲し、しかし、私は成功し、ログインに失敗しました。あなたが間違っているステップを知っていますか? –
ありがとう、私はそれを得た。 –