【发布时间】:2017-02-14 02:36:21
【问题描述】:
我真的不知道从哪里开始这个项目,所以请原谅模糊的标题。
当我在谷歌上搜索“如何编程”时,我希望以某种可行的形式获得该搜索的结果。我不知道我是否可以以某种方式使用谷歌或其他搜索,但如果不能,我如何构建自己的软件来获取这些数据?谷歌如何运行它的搜索?
我知道 JavaScript 和 NodeJS - 我还需要学习什么? (我想肯定是某种数据库)。
【问题讨论】:
标签: node.js web-crawler bigdata
我真的不知道从哪里开始这个项目,所以请原谅模糊的标题。
当我在谷歌上搜索“如何编程”时,我希望以某种可行的形式获得该搜索的结果。我不知道我是否可以以某种方式使用谷歌或其他搜索,但如果不能,我如何构建自己的软件来获取这些数据?谷歌如何运行它的搜索?
我知道 JavaScript 和 NodeJS - 我还需要学习什么? (我想肯定是某种数据库)。
【问题讨论】:
标签: node.js web-crawler bigdata
MongoDB (mongoose) 用于存储您的数据,PhantomJS(用于服务器端的无头浏览器)用于抓取将是您的最佳选择。我目前正在开发一个网络爬虫,用于结合两者来爬取网站。效果很好。
您将要使用 PhantomJ 加载 google,输入您的搜索,然后从页面中获取 html。然后,您可以使用 cheerio 之类的库来处理 HTML。它是一个类似于 DOM 解析的服务器端 jquery 库。
然后只需浏览并单击下一页结果并根据需要重复上述步骤。从每个页面收集您需要的信息并将其存储在 mongo 中。
您还需要担心很多其他事情,例如如何处理验证码、IP 阻塞等。但以上内容应该可以帮助您入门。
【讨论】:
backlinks)。然后,他们将要抓取的新网站添加到一个大队列中。他们还可能会查找新网站的新 DNS 记录并添加要抓取的内容。