屏幕抓取和SQL数据库

问题描述:

我正在考虑开始一个涉及屏幕抓取各种网站的小项目,我想将这些网站的数据存储在服务器上的SQL数据库中。屏幕抓取和SQL数据库

几年前,我使用C#和称为'screen-scraper'的软件为我完成了大部分艰苦的工作,但我不认为这个解决方案尽管如此最终工作,所以我想这次做得更好。由于我现在不记得的原因,我永远不能在服务器上运行screen-scraper,并且总是不得不离开我自己的另一台计算机来进行自己的抓取,然后将数据从这里上传到服务器..(也许我只是一个白痴)。

虽然我没有以前的Python经验,但我已经听说过关于Python和Beautiful Soup的非常好的事情。

我最终希望能够在服务器端运行所有的东西,所以python脚本在某些服务器上24/7全天候运行,以某种频率更新SQL数据库。其他代码也将在服务器上运行,并由用户调用数据库中的数据操作等。

我对C语言有更多的经验,但我不介意学习一些Python,如果它是值得的。我只是想确保我正朝着正确的方向前进..

+0

** SQL **是结构化查询语言 - 许多数据库系统使用的语言 - SQL是** NOT **数据库产品......类似这样的东西通常是特定于供应商的 - 所以我们确实需要知道你在用什么数据库系统.... – 2012-04-22 13:55:46

+0

好吧对不起,我上次使用SQL和C#一起(我不记得是在查询什么类型的数据库,我真的不介意我最终结束了什么系统使用,只要它可以在服务器上运行,就像我说的那样,并且与选择的语言进行良好的交互以进行实际的抓取... – fpghost 2012-04-22 14:42:16

+0

fpghost,我看到你有一个关于* Mathematica *的帖子被删除(因为它不是如果你想帮助我们加入Mathematica.SE,特别是[Mathematica Chat](http://chat.stackexchange.com/rooms/2234/mathematica)。 – 2012-07-30 17:57:32

Python很好,可能是最受欢迎的选择。我会阻止美丽的汤,因为它使用它自己的语法,而lxml使用xpath,如果你学习它,它也将在你的c项目中有用。

+0

感谢您的回复。 – fpghost 2012-04-23 15:05:19

+0

感谢您的回复。我能够用Python编写一些代码并让它在服务器上运行,所以基本上可以直接将它们拖入mySQL数据库中,并使用它们的带宽和CPU来执行代码。我希望我所抓取的内容能够在您看到的某个网站表格上动态呈现。总之,我需要1)能够在服务器上执行的代码,就像运行Python脚本24/7一样2)这段代码能够写入到服务器的mySQL数据库中的内容。你提到lxml,那么'scrapy'会更好地学习美丽的汤吗? – fpghost 2012-04-23 15:12:33

+0

是的,你可以做所有这些。有些人喜欢scrapy,其他人觉得它不够灵活。我建议在scraperwiki上查看一些python刮板的源代码。 – pguardiario 2012-04-24 00:29:02