如何用Python自动化浏览?

30 投票
15 回答
110177 浏览
提问于 2025-04-15 13:40

假设我需要在一个特定的网站上执行一系列操作,比如填写一些表单、点击提交按钮、把数据发送回服务器、接收响应,然后根据这个响应再做一些事情,最后再把数据发送回这个网站的服务器。

我知道Python里有一个webbrowser模块,但我想要在不打开任何网页浏览器的情况下完成这些操作。必须是纯脚本的方式。

有没有什么模块可以帮助我做到这一点呢?
谢谢!

15 个回答

8

所有的回答都比较老了,我推荐并且非常喜欢requests这个库。

来自主页的介绍:

Python自带的urllib2模块提供了大部分你需要的HTTP功能,但它的接口设计得很糟糕。这个模块是为以前的时代和不同的网络环境设计的。即使是做一些最简单的事情,也需要花费大量的精力(甚至需要重写方法)。

事情不应该是这样的。在Python中不应该如此。

19

selenium 会完全按照你的需求来操作,而且它可以处理 JavaScript。

18

你也可以看看 mechanize。这个工具是用来处理“有状态的程序化网页浏览”的(根据他们网站上的说法)。

撰写回答