如何用Python输入数据到网页并抓取结果?

9 投票
5 回答
41948 浏览
提问于 2025-04-16 23:31

我知道可以用BeautifulSoup和urllib2从网页上抓取数据。不过,如果我需要在网页上输入一些参数,才能得到我想要抓取的结果,该怎么办呢?

我想通过这个网站来获取两个地址之间的地理距离:http://www.freemaptools.com/how-far-is-it-between.htm

我希望能够打开这个页面,输入两个地址,点击“显示”,然后提取“直线距离”和“陆路运输距离”的值,并把它们保存到一个字典里。

有没有办法用Python在网页上输入数据呢?

5 个回答

1

我觉得你也可以使用 PySide/PyQt,因为它们有一个叫qtwebkit的浏览器核心。你可以控制这个浏览器打开网页,模拟人类的操作(比如填写表单、点击按钮等),然后从网页上提取数据。我开发的一个叫 FMiner 的软件就是用PySide做的,它可以用来抓取网页数据。

另外,你也可以试试phantomjs,这是一个很简单的库,可以用来控制浏览器,不过它是用JavaScript写的,不是Python。

1

当然可以!你可以试试 mechanize 这个工具,它专门用来处理这种网页抓取的任务。

撰写回答