虫王Google是如何索引页面,如何工作的
当谈及表单时,让我们]来看下它是如何影响产品增长的。想象下,如果Google的创始人在创建其引擎的第一个版本时,包含了个每名网站管理员都需要填写的表单,要求他们把网站中每一页的文字都复制粘贴过来。然后,他们]需要接受许可协议,允许G。oge处理、存储和展示他们的内容,并剔除大部分广告利润。你能想象解释该想法并说服人们参与这一过程所需花费的时间和精力会有多大吗?即使市场非常渴望一个优秀的搜索引擎(事实正是如此),这个引擎也不会是Goge,因为它的增长过于缓慢。即使是最复杂的算法,也不能弥补数据的缺失。Google使用网络爬虫技术,在页面间跳转链接,填充其庞大的数据库。网站管理员则不需要做任何事情。实际上,反而还需要一些努力才能阻止Goge索引你的页面。
虽然Google使用表单的想法听起来有些荒谬,但是一个典型的网站需要用户填写多少表单呢?登录表单、新房源表单、结账表单,等等。这些表单中有多少会阻碍应用增长呢?如果你充分了解你的受众瘩客户,很可能已经拥有关于他们通常使用并且很可能已经有账号的其他网站的线索了。比如,一个开发者很可能拥有StackOverflow和Github的账号。那么,在获得他们允许的情况下,你是否能够抓取这些站点,只需他们提供给你用户名,就能自动填充照片、简介和一小部分近期文章呢?你能否对他们最感兴趣的一些文章进行快速文本分析,并根据其调整网站的导航结构,以及建议的产品和服务呢?我希望你能够看到如何使用自动化数据抓取替代表单,从而更好地服务你的受众,增长网站规模。
数据分析的核心:发现并融入你的生态系统!
抓取数据自然会让你发现并考虑与你付出相关的社区的关系。当你抓取一个数据源时,很自然地就会产生一些问题:我是否相信他们的数据?我是否相信获取数据的公司?我是否需要和他们沟通以获得更正式的合作?我和他们是竞争关系还是合作关系?从其他源获得这些数据会花费我多少钱?无论如何,这些商业风险都是存在的,不过抓取过程可以帮助我们尽早意识到这些风险,并制定出缓解策略。
你还会发现自己想知道能够为这些网站和社区带来的回馈是什么。如果你能够给他们带来免费的流量,他们应该会很高兴。另一方面,如果你的应用不能给你的数据源带来一些价值,那么你们的关系可能会很短暂,除非乍你与他们沟通,并找到合作的方式。通过从不同源获取数据,你需要准备好开发对现有生态系统更友好的产品,充分尊重已有的市场参与者,只有在值得努力时才可以去破坏当前的市场秩序。现有的参与者也可能会帮助你成长得更快,比如你有一个应用,使用两到三个不同生态系统的数据,每个生态系统有10万个用户,你的服务可能最终将这30万个用户以一种创造性的方式连接起来,从而使每个生态系统都获益。例如,你成立了一个初创公司,将摇滚乐与恤印花社区关联起来,你的公司最终将成为两种生态系统的融合,你和相应的社区都将从中获益并得以成长。
请做一个网虫爬虫界的一个“好虫”
当开发爬虫时,还有一些事情需要清楚。不负责任的网络爬虫会令人不悦,甚至在某些情况下是违法的。有两个非常重要的事情是免类似拒绝服务(DoS)攻击的行为以及侵犯版权。对于第一种情况,一个典型的访问者可能每几秒访问一个新的页面。而一个典型的网络爬虫则可能每秒下载数十个页面。这样就比典型用户产生的流量多出了10倍以上。这可能会使网站所有者非常不高兴。请使用流量限速将你产生的流量减少到可以接受的普通用户的水平。此外,还应该监控响应时间,如果发现响应时间增加了,就需要降低爬虫的强度。好消息是Scrap对于这些功能都提供了开箱即用的实现(后面会慢慢分享到)。
对于版权问题,显然你需要看一下你抓取的每个网站的版权声明,并确保你理解其允许做什么,不允许做什么。大多数网站都允许你处理其站点的信息,只要不以自己的名义重新发布即可。在你的请求中,有一个很好的User-Agent字段,它可以让网站管理员知道你是谁,你用他们的数据做什么。Scrap在制造请求时,默认使用BOTNAME参数作为User-Agent。如果User-Agent是一个URL或者能够指明你的应用名称,那么网站管理员可以通过访问你的站点,更多地了解你是如何使用他们的数据的。另一个非常重要的方面是,请允许任何网站管理员阻止你访问其网站的指定区域。对于基于Web标准的robotstxt文件(参见Googlerobots.txt的文件示例),Scrap提供了用于尊重网站管理员设置的功能(Robotstxtmiddleware)。最后,最好向网站管理员提供一些方法,让他们能说明不希望在你的爬虫中出现的东西。至少网站管理员必须能够很容易地找到和你交流及表达顾虑的方式。
本文由三秋道果分享,如有不当请联系三秋道果,不吝指出,谢谢~