【发布时间】:2013-09-17 19:43:16
【问题描述】:
我和我的一个朋友正在尝试将所有 Steam 游戏及其 ID 索引到一个数据库表中。
到目前为止,我们已经成功地索引了前 75 款游戏,从最新版本开始。但问题是,我们不知道为什么它只返回前 75 个,而不是全部返回。爬虫是用 PHP 编写的。
以下是来源:http://pastebin.com/cQfU38PQ 标题为 index.php 和 http://pastebin.com/RpT20R6j 标题为 class.php。
每次我们运行脚本,运行大约需要 10-20 秒,然后它给出一个空白页,正如预期的那样。但是,该数据库将仅包含 75 个条目。我们没有在脚本中定义它应该运行多长时间,或者它应该索引多少条目。 我还确保 php 脚本有足够的时间按照 php.ini 中的设置执行。
您能帮我们找出它在索引 75 个条目后停止的原因吗?
【问题讨论】:
-
给你的一些笔记;首先,Steam 是否为此提供 API 或 RSS 提要?这将更容易解析,并且您被阻止的可能性较小。其次,您不会在请求之间进行任何延迟,因此您可能会因爬行速度过快而被阻止(如果他们允许的话)。第三,您没有转义您的输入数据,因此 Steam 可以运行他们自己选择的专门为您选择的 SQL(即 SQL 注入漏洞)!最后,您应该在 cron 上运行它,而不是在网页中。
标签: php web-crawler steam