我不是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)