【发布时间】:2013-08-08 18:30:07
【问题描述】:
所以我是一名 CS 学生,试图学习网络抓取以及随之而来的所有注意事项。在使用了 iMacros 和其他一些数据抓取“工具”之后,我转向了 Python,这是一种我当时并不熟悉的语言。我了解了 BeautifulSoup 和 urllib2,并通过 stackoverflow 和其他一些论坛学习了它。
现在,利用我目前获得的知识,我可以抓取大多数静态网页。然而,我们都知道静态页面的时代已经结束,因为 JS 现在在即使是平庸的网站上也占据着至高无上的地位。
我希望有人在这里指导我正确的方向。我想学习一种加载 Javascript 网页的方法,加载所有内容,然后以某种方式将这些数据放入 BeautifulSoup 函数。 Urllib2 很糟糕。我还希望能够填写表格并通过按钮点击进行导航。
我感兴趣的大多数网站都包含一长串在您向下滚动时会加载的结果。全部加载然后下载页面似乎没有帮助(不知道为什么会这样)。我使用的是 Windows 7,并安装了 Python 2.7.5。
有人告诉我,诸如僵尸或 Ghost 之类的无头浏览器会帮助我,但我真的不太了解这些。我尝试使用诸如 mechanize 之类的库,但它们并不能真正满足我的需要,即加载结果、获取网页以及输入 BS4。
考虑到我对 Python 的了解很少,有人可以在这里帮助我吗?
谢谢
【问题讨论】:
-
Javascript 可能会从一些外部 JSON / XML / PHP 服务器获取资源。使用 Firebug 或 Chrome 开发者工具找出那个来源,然后从那里抓取。
-
我想你是对的,但我希望有更多通用的解决方案,使用无头浏览器或类似的方法
-
我不知道,抱歉 :(
-
我不会非常支持 Ghost。它非常有限,不适用于大多数网站。
-
是的,我试过 Ghost,但效果不是很好
标签: javascript python web-scraping screen-scraping