网络抓取 - 网络登录问题

时间:2012-11-17 20:52:07

标签: python web-scraping casperjs

所以我试图抓住登录系统背后的东西。我尝试使用CasperJS,但是我遇到了表单的问题,所以也许这不是可行的方法;我检查了网站的源代码,表单名称是“theform”但我永远不能登录必须做错了。有没有关于如何使用CasperJS正确执行此操作的任何教程,我已经看过API和谷歌并没有什么真正有效。

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

5 个答案:

答案 0 :(得分:4)

虽然作为CasperJS的作者,但遗憾的是,如果没有真正的代码或任何可重复的测试用例,我无法帮到你。

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

答案 1 :(得分:1)

在您的问题中,您提到CasperJS,但您将问题标记为python。如果你想使用python作为一种语言,你可以检查video描述不同的网络抓取工具

对于登录网页,您可以使用 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

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

如果您只需要废品数据 - 也许您会尝试更简单的方法? mechanize适用于此类目的,如果您尝试废弃的网站没有花哨的JavaScript。

这里有一个很好的讨论:Python mechanize login to website

答案 4 :(得分:0)

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