使用scrapy FormRequest()无法登录网站

时间:2018-10-05 05:14:46

标签: python python-3.x scrapy web-crawler

我不是python或scrapy的专家,但过去我写过成功的scraper。这是我第一次尝试抓取需要登录的网站,但我无法使其正常工作。这是网站https://www.doximity.com/signin,这是我现在正在尝试的代码。 open_in_browser会继续打开原始登录页面,而没有任何错误或任何其他信息,因此我不确定自己要去哪里。任何帮助都感激不尽。

import scrapy 
from scrapy.http import FormRequest
from scrapy.utils.response import open_in_browser

class DoxSpider(scrapy.Spider):
name = 'Doximity'
allowed_domains = ['doximity.com']
start_urls = ['https://www.doximity.com/signin']

def parse(self, response):
    token = response.xpath('//*[@name="csrf_token"]/@value').extract_first()
    yield FormRequest.from_response(
            response,
            formid='email',
            formname='login',
            formdata={
                    'csrf_token': token,
                    'login': 'username',             
                    'password': 'password',
                },
            dont_filter=True,
            callback=self.after_login)


def after_login(self, response):
    open_in_browser(response)

0 个答案:

没有答案