gpt4 book ai didi

python - 获得 Mechanize 和斜纹布说话

转载 作者:行者123 更新时间:2023-12-04 16:21:14 29 4
gpt4 key购买 nike

我正在为我的雇主编写脚本,以从他们自己的站点获取某些数据。出于一长串原因,我需要从网站上获取数据,如图所示。我发现,其中一些数据是通过 js 调用检索的...

回想起来,我应该选择 Mechanize ,但我选择了斜纹布(我认为我可以使用 Mechanize ,因为斜纹将自己描述为 Mechanize 的薄包装)该项目距离完成只有一个后期调用,我拼命做不想为 Mechanize 重写我所有基于斜纹的代码。

我需要提交未附加到表单的发布请求。所以我需要 Mechanize (或类似的库)。根据 twill 的文档,应该有一个可通过以下代码检索的 Mechanize 浏览器对象:

#after logging in and successfully loading pages
b = get_browser()
mb = b._browser

我得到: AttributeError: 'TwillBrowser' object has no attribute '_browser'
查看源代码,似乎twill 的浏览器不再使用mechanize 的浏览器了?

所以我的问题是:
  • twill里面还有 Mechanize 浏览器吗?
  • 如果是这样,我如何获得它?
  • 如果没有,我如何从斜纹布中获取 cookie 以进行 Mechanize ,以便我可以使用这些 cookie 提出请求?

  • 理想情况下,我会这样:
    cjar = 'cookies.yaml'
    save_cookies(cjar)
    mb.open(url, data=data, cookies=cjar)

    但我知道我需要更多的魔法,而不仅仅是添加 cookies=filename :)

    最佳答案

    1. Is there still a mechanize browser inside twill.
    2. If so, how do I get it?


    不,它不再内置于斜纹布中。虽然 pip 安装 twill 仍然包含 Mechanize 到 twill 的文件中,但 twill 的代码从不导入这些模块。

    1. If not, how can I get the cookies from twill to mechanize so I can make request using those cookies?


    从我所读到的,似乎没有一种简单或微不足道的方法来做到这一点。
    您可以从斜纹保存_cookies(但您不能自定义它们的保存方式。)。 Mechanize 需要帮助来读取 cookie 文件,当它加载它们时,它需要忽略持久性等。 Mechanize 确实让你有能力做到这一点,但我还没有找到任何可用的代码。
    就我而言,编写一种方法更容易让我同时登录斜纹和 Mechanize 。

    关于python - 获得 Mechanize 和斜纹布说话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45740308/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com