使用警报窗口身份验证抓取站点

Nea*_*ear 3 python web-scraping

我正在尝试制作一个 python 应用程序,它可以从我大学的 LMS 中抓取一些数据,以检查是否有新文件,如果有,则将它们下载到我的本地目录。

然而,对该页面的访问是通过我的登录名和密码进行保护的,但是该站点没有诸如 html 登录表单之类的东西,它只是一个警报窗口类型弹出窗口,我在其中放置了我的登录名/密码(就像您通常在登录时所做的登录一样)登录路由器),我不知道如何继续。

有人可以帮助我或向我指出一些有关如何在尝试抓取之前验证此类站点的连接的资源吗?要么用机械化,要么用别的东西。

谢谢。

esf*_*sfy 5

我认为这是 HTTP 基本授权。尝试一下是否可以登录

http(s)://(username):(password)@(url)在浏览器的地址栏中。

如果是这种情况,请在 中settings.py使用它来启用相应的中间件:

DOWNLOADER_MIDDLEWARE = [ 'scrapy.contrib.downloadermiddleware.httpauth.HttpAuthMiddleware']

并在你的蜘蛛中使用这样的中间件:

class TheSpider(scrapy.Spider):

http_user = 'username'
http_pass = 'password'

def crawl(self, response):
    pass

# do teh magicz!
Run Code Online (Sandbox Code Playgroud)

它在文档中——请参阅此处了解详细信息。