关于Python爬虫库的指导

4 投票
1 回答
977 浏览
提问于 2025-04-16 07:34

我还是个Python新手,希望这个问题不是太无聊。

我越是上网查找网页抓取的解决方案,就越感到困惑(就像在很多树中看不到森林一样……)

我阅读了很多项目的文档,包括(但不限于)scrapy、mechanize和spynner。

但我真的搞不清楚该用哪个工具……

我想抓取一个特定的页面(www.schooldigger.com),它使用了ASP,并且有一些我需要模拟的JavaScript。

我知道这种问题不容易解决,所以希望能得到一些指导。

除了对可用选项的一些一般讨论(如果可能的话,还想了解不同项目之间的关系),我还有几个具体的问题:

  1. 使用scrapy时,有没有办法不定义要解析的“项目”,而只是下载前几百个页面?我其实不想下载整个网站,但我希望在开发抓取程序时能看到哪些页面正在被下载。

  2. 关于mechanize、ASP和JavaScript,请查看我发布的一个问题,但还没看到任何答案,https://stackoverflow.com/questions/4249513/emulating-js-in-mechanize

  3. 为什么不构建某种工具(比如一个turbogears应用程序或浏览器插件),让用户可以图形化选择要跟踪的链接和要解析的项目?我只是建议做一个图形界面来围绕解析API。我不知道自己是否有技术能力去创建这样的项目,但我觉得这并不是不可能,实际上,考虑到我对Python的了解,这似乎是可行的。也许可以给我一些关于这个项目可能面临的问题的反馈?

  4. 最重要的是,所有的网页爬虫都是“特定于网站”构建的吗?我觉得我的代码有点像是在重复造轮子……(但这可能是因为我编程水平不高)

  5. 有没有人能分享一些功能齐全的抓取程序的例子?文档中有很多例子(我一直在研究),但它们似乎都很简单,仅仅是为了展示包的用法,也许我会从更详细/复杂的例子中受益。

谢谢你的想法。

1 个回答

2

如果你想要实现完整的浏览器操作,最好使用 Selenium-RC

这个工具有一个Python的驱动程序,你可以用它来编写脚本,让浏览器“测试”几乎互联网上的任何网站。

撰写回答