-4

我对 urllib 很熟悉,因为我在课堂上使用它来解析来自 Google 货币转换器的数据,但现在我想创建一个从 nextworth.com 网站获取价格的网络爬虫。

正如您所看到的,这并不像从一页中获取数据(就像您获取黄金价格或诸如此类的那样)那么容易,但是需要回答许多产品和许多问题才能显示最终价格。这就是它的工作方式:

1.访问网站 ( http://www.nextworth.com )

2.单击产品类别(例如 iPhone)http://nextworth.com/search/1/cat/iphones/

3.点击实际产品(例如 iPhone 4 16GB ATT)http://nextworth.com/product/293814/cat/iphones/apple_iphone_4_16gb_ (black)_-_at&t/

那么你所拥有的是一系列问题,以便给你一个即时报价。因此,下一步将是

4.开机功能齐全 - 是

5.破裂的显示器 - 否

最后,显示价格。这就是我要抓取和存储的内容。现在我正在努力只获得完美条件物品的价格,因为它更容易,但请记住,如果第 4 步为“否”且第 5 步为“否”,或者第 4 步 - 是且第 5 步 - 是,我也想要价格,等等

所以我想我的问题是,为这个程序编写代码背后的伪代码(逻辑步骤)是什么样的?这样做是否可行,还是需要永远和大量的代码行?我是否应该先为每个类别创建几个功能,然后在其中我拥有每个产品(我觉得这将花费很长时间)。或者我应该为每个类别和嵌入式函数使用类?

编辑:我想我应该问一下 Python 是否会成为一种很好的语言,希望在 Python 中做到这一点是可行的,因为到目前为止我只知道这一点和 C++。

4

2 回答 2

3

对于一般的网站抓取,您可以使用一个不错的网络抓取模块。好消息是它可以利用 QtWebkit 模块,因此您甚至可以处理大量 javascript 网站。

考虑到这一点,尽管我必须警告你这种事情。

你正在做的是一个自动化的过程,给定你的要求,看起来好像它会打到很多页面。如果您没有从您要报废的网站获得许可,您可能会因使用可能吸引他们关心的实时人类客户的资源而被他们的服务器阻止。

在这些情况下,您希望处理某种 API。看看网站是否有 API,因为这些对自动化流程更加友好,只要你遵守他们的 API 规则。

于 2013-03-07T20:54:13.550 回答
1

Webscraping 库需要您设置某种形式的库以及在您的情况下的集成开发环境,您正在考虑为此选择 python。

我们创建了一个网络抓取即服务平台,让您只需单击几下即可自动执行网络抓取。虽然我们仍在创建 chrome 浏览器扩展的过程中,但我们将在本周末发布其第一个版本。您只需要编写几行 JSON,就可以使用我们为您进行网络抓取。

于 2013-05-13T16:01:29.097 回答