我熟悉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 ++。
答案 0 :(得分:3)
对于一般的网站抓取,你可以使用一个很好的webscraping module。好处是它可以利用QtWebkit模块,因此您甚至可以处理javascript繁重的站点。
考虑到这一点,我必须在这方面警告你。
您正在做的是一个自动化流程,根据您的要求看起来好像会打到很多页面。如果您没有从您正在废弃的网站获得许可,那么您可能会被阻止从他们的服务器上获取资源,这些资源可能会吸引他们关心的实时人类客户。
在这种情况下,您希望处理某种API。查看该网站是否有API,因为只要您遵守其API规则,这些很多对自动化流程更友好。
答案 1 :(得分:1)
Webscraping库要求你设置某种形式的库以及集成开发环境,你正在考虑为此选择python。
我们已经创建了一个webscraping作为服务平台,允许您automate webscraping in a few click。虽然我们仍在创建Chrome浏览器扩展程序,但我们将在本周末发布第一个版本。在您使用我们为您进行网络抓取之前,您只需编写几行JSON。