gpt4 book ai didi

Selenium Webdriver 与 Mechanize

转载 作者:行者123 更新时间:2023-12-02 14:34:16 25 4
gpt4 key购买 nike

我有兴趣以某种形式自动为我经常访问的网站重复输入数据。到目前为止,我查找过的能够以 headless 方式为此提供支持的工具可能是 Selenium WebDriver 和 Mechanize。

我的问题是,使用一次与使用其他之间是否存在根本的技术差异? Selenium 主要用于测试。我还注意到有些人用它来完成我正在寻找的事情,那就是自动化数据输入。在这种情况下,测试就成为第二个好处。

是否有理由不使用 Selenium 来完成我想做的事情而不是 Mechanize?这两个工具都可以工作吗?

我不是在问哪个更好,而是在问哪个工具最适合这项工作。也许我不理解每个工具的用途背后的前提。

最佳答案

这些是完全不同的工具,在网络抓取、网络自动化、自动数据提取范围内有些“交叉”。

mechanize 是一个成熟且广泛使用的程序化 Web 浏览工具,具有许多内置功能,例如 cookie 处理、浏览器历史记录、表单提交。这里要理解的关键是 mechanize.Browser 不是真正的浏览器,它无法执行和理解 javascript,它无法发送形成网页所需的异步请求.

这就是selenium发挥作用的地方 - 它是一种浏览器自动化工具,也广泛用于网络抓取。 selenium 通常会成为一种“后备”工具 - 当有人无法使用 mechanizeRoboBrowser 抓取网站时或MechanicalSoup (注意 - 另一种选择)例如,由于 javascript 的“沉重”,选择通常是 selenium。使用selenium,您还可以实现 headless 自动化 PhantomJS浏览器,或者有 virtual display 。作为一个经常提到的缺点,性能经常被提及 - 使用 Selenium,您可以作为 Web 浏览器中的真实用户使用目标站点,这会加载形成页面所需的其他文件,发出 XHR 请求、渲染等

这本身并不意味着您应该在任何地方使用selenium - 明智地选择工具,选择它是因为它更适合问题,而不是因为您更熟悉某种工具.

<小时/>

另请注意,您应该首先考虑使用 API(如果目标网站提供)而不是进行网络抓取。而且,如果涉及到这一点,请成为一名优秀的网络抓取公民:

关于Selenium Webdriver 与 Mechanize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31530335/

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