【发布时间】:2011-07-28 08:31:12
【问题描述】:
我是新来的,对一般的 Web 开发也很陌生。我的背景是 3D 建模和设计,但我最近开始了一个项目,我认为这可能是 3D 社区的一个很好的资源。
我的页面主要是在这里设计和编码的:The Top Row,但我的知识也差不多了。上部和下部(艺术家聚光灯)部分将手动更新,所以我不担心这些。
我遇到问题的部分是“Best of the Rest”标题下的中间部分。我想做的是从七个著名的 CG 论坛中抓取图像(和链接)并将它们显示在我布置的内容区域中。每个论坛的页面顶部都有一个部分,显示五到六张精选图片。
如果您查看CGSociety,例如:他们的顶行有六个特色作品。我想获取三个最新的并将它们显示在我的 CGSociety 内容框中带有指向原始线程的链接。获得链接也很重要,因为该网站的全部目的是为应得的艺术家提供曝光率。
图像始终位于相同的位置,并且始终具有可预测的路径,一直到图像名称:
即:http://features.cgsociety.org/cgtalk/plugs/"featured image".jpg
我不知道它是否相关,但图像的 xpath 也是可靠的。对于 CGSociety 来说,图像基本上是由最后一组括号中包含的数字决定的。
/x:html/x:body/x:div[4]/x:div/x:div/x:table[1]/x:tbody/x:tr/x:td[1]/x:a/x:img
我已经阅读了很多不同的堆栈溢出线程,但其中的大部分内容都超出了我的想象。我没有太多的编程经验,但我怀疑我正在尝试做的事情并没有那么复杂。
以下是我的主要问题:
这种抓取的最佳(最简单)方法是什么?我不断看到 Python 提到了 Beautiful Soup 或 lxml,但有人推荐 PHP 与 cURL 和 xPath。
是否有一种特殊的方法可以尽可能减少对源论坛的压力?这些论坛都有数万(或数十万)的会员,所以这可能不是一个大问题,但如果可能的话,我很乐意这样做而不直接热链接。
我的方向是否正确?
另外:我知道抓取是合法的灰色区域。我计划向所涉及的每个论坛征求许可,但我希望有一个可行的模型,以便在我提出要求时向他们展示。
任何帮助都将非常感谢。我认为如果我可以让它工作,这可能是一个很酷的网站。
【问题讨论】:
标签: curl screen-scraping beautifulsoup lxml web-scraping