2

所以我试图抓取登录系统背后的东西。我尝试使用 CasperJS,但表单出现问题,所以也许这不是要走的路;我检查了网站的源代码,表单名称是“theform”,但我永远无法登录,一定是做错了什么。是否有任何关于如何使用 CasperJS 正确执行此操作的教程,我查看了 API 和 google 并没有真正起作用。

或者有人对如何轻松进行网络抓取有任何建议。我必须能够检查一个简单的条件状态并单击几个按钮,仅此而已。

4

5 回答 5

4

作为 CasperJS 的作者,不幸的是,如果没有看到真实的代码或任何可重现的测试用例,我就无法为您提供太多帮助。

由于您的帖子被标记为Python,您可能会对 Ghost.py 感兴趣,这是一个受CasperJS启发但具有 Python API 的项目。

于 2012-11-18T20:27:44.097 回答
1

在您的问题中,您提到了 CasperJS,但您将问题标记为 python。如果您想使用 python 作为语言,您可以查看描述用于网络抓取的不同工具的视频

要使用登录管理网页,您可以使用 上面网站的mechanize 示例代码:

br = mechanize.Browser()
# Explicitly configure proxies (Browser will attempt to set good defaults).
# Note the userinfo ("joe:password@") and port number (":3128") are optional.
br.set_proxies({"http": "joe:password@myproxy.example.com:3128",
"ftp": "proxy.example.com",
            })
# Add HTTP Basic/Digest auth username and password for HTTP proxy access.
# (equivalent to using "joe:password@..." form above)
br.add_proxy_password("joe", "password")
# Add HTTP Basic/Digest auth username and password for website access.
br.add_password("http://example.com/protected/", "joe", "password")

其他好的python选择是scrapy

于 2012-11-17T21:16:27.197 回答
1

您可以使用mechanize(Python 中的有状态程序化网页浏览)登录 !

对于解析页面,您可以使用BeautifulSoup

于 2012-11-17T23:19:31.333 回答
0

如果您只需要废弃数据——也许您会尝试一些更简单的方法?如果您要废弃的网站没有花哨的 javascript,那么mechanize可以很好地用于此类目的。

这是一个很好的讨论步骤:Python mechanize login to website

于 2012-11-17T21:08:56.747 回答
0

因为您提到了 CasperJS,所以我可以假设网站使用 JavaScript 生成了一些数据。我的建议是检查 WebKit。它是一个浏览器“引擎”,它可以让你对网站做任何你想做的事情。你可以使用 PyQt4 框架,它非常好,并且有很好的文档。

于 2012-11-18T03:06:10.410 回答