【问题标题】:How do you make a URL request that requires access through an ezproxy server? (Python)如何发出需要通过 ezproxy 服务器访问的 URL 请求? (Python)
【发布时间】:2020-04-26 03:28:33
【问题描述】:

我正在做一个个人项目,我正在尝试使用 Python 从财务数据网站上抓取 HTML 表格。我能够成功使用 Python 中的 requests 包访问 public 网站并提取任何信息(之后使用 BeautfulSoup4 进行处理),但我使用的代码如下所示:

# import requests
import requests

# access website
url = 'https://financial-data-url.ezproxy1.library.uniname.edu.com/path/to/financial/data'
headers = example_header
page = requests.get(url, headers = headers)

但是,尝试访问该网站通常需要通过 EZproxy 服务器(如示例 url 所示)通过我大学的图书馆数据库登录。当我通过图书馆数据库访问后尝试请求财务数据网页的 URL 时,它返回的似乎是大学图书馆 EZproxy 网页。这是我需要点击“登录”的地方,然后才能被定向到财务数据网页。

请求函数中是否有一些我可能缺少的凭据条款,或者可能是通过不同的方式将代理服务器传递到 URL 以使请求不会出现在代理服务器登录页面上?

【问题讨论】:

标签: python html web-scraping python-requests proxy-server


【解决方案1】:

我发现解决这个问题最快和最有效的解决方法是使用 Selenium 基于 Web 的自动化包 (https://selenium-python.readthedocs.io/)

Selenium 使得在浏览器中复制登录和导航变得非常容易,就像一个人一样。 IMO,它的简单性可能远远超过根据用例直接调用网页的好处(当速度和效率是主要目标时效率不高,但如果这不是主要限制,它工作得很好)

【讨论】:

    猜你喜欢
    • 2019-04-09
    • 2021-01-23
    • 2014-12-15
    • 2019-04-23
    • 1970-01-01
    • 2011-02-11
    • 1970-01-01
    • 2017-08-11
    • 1970-01-01
    相关资源
    最近更新 更多