所以我试图抓取登录系统背后的东西。我尝试使用 CasperJS,但表单出现问题,所以也许这不是要走的路;我检查了网站的源代码,表单名称是“theform”,但我永远无法登录,一定是做错了什么。是否有任何关于如何使用 CasperJS 正确执行此操作的教程,我查看了 API 和 google 并没有真正起作用。
或者有人对如何轻松进行网络抓取有任何建议。我必须能够检查一个简单的条件状态并单击几个按钮,仅此而已。
所以我试图抓取登录系统背后的东西。我尝试使用 CasperJS,但表单出现问题,所以也许这不是要走的路;我检查了网站的源代码,表单名称是“theform”,但我永远无法登录,一定是做错了什么。是否有任何关于如何使用 CasperJS 正确执行此操作的教程,我查看了 API 和 google 并没有真正起作用。
或者有人对如何轻松进行网络抓取有任何建议。我必须能够检查一个简单的条件状态并单击几个按钮,仅此而已。
作为 CasperJS 的作者,不幸的是,如果没有看到真实的代码或任何可重现的测试用例,我就无法为您提供太多帮助。
由于您的帖子被标记为Python
,您可能会对 Ghost.py 感兴趣,这是一个受CasperJS启发但具有 Python API 的项目。
在您的问题中,您提到了 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
您可以使用mechanize(Python 中的有状态程序化网页浏览)登录 !
对于解析页面,您可以使用BeautifulSoup!
如果您只需要废弃数据——也许您会尝试一些更简单的方法?如果您要废弃的网站没有花哨的 javascript,那么mechanize可以很好地用于此类目的。
这是一个很好的讨论步骤:Python mechanize login to website
因为您提到了 CasperJS,所以我可以假设网站使用 JavaScript 生成了一些数据。我的建议是检查 WebKit。它是一个浏览器“引擎”,它可以让你对网站做任何你想做的事情。你可以使用 PyQt4 框架,它非常好,并且有很好的文档。