如何使 AJAX 网站可抓取
How to make a AJAX website crawlable?
>以下网站是使用 history.pushState() 的可抓取 AJAX 网站 (HTML5 + CSS3 + AJAX) 的一个很好的例子:
http://html5.gingerhost.com/
(背景见 https://moz.com/blog/create-crawlable-link-friendly-ajax-websites-using-pushstate)
但是,本网站假设动态内容可以在页面加载时呈现在服务器端。例如,如果您直接登陆 http://html5.gingerhost.com/seattle,则与西雅图相关的内容不会通过 AJAX 加载,而是已经在页面中。
假设内容只能通过 AJAX 调用加载。如何使这样的网站可抓取?
我的具体目标是使这个网站可抓取:http://code-exercises.com/programming/
目前,所有编程练习都是通过 AJAX 加载的。我想要编程/简单/练习第一。
我的网站由一个 NGINX 实例提供服务,该实例提供静态内容并将所有 AJAX 请求转发到 Tomcat 实例。
选项 1:简单的一个,使用 prerender.io
选项 2:在应用构建过程中包含一个 Phantom.js以制作页面的静态版本
选项 3:如果使用 Angular,则可以迁移到 angular2 或其他具有服务器端渲染的框架
看看如何使一个有角度的应用可抓取。
基本上,您必须具有页面的缓存版本,其中包含将提供给网络爬虫的数据。
https://prerender.io/这是一个例子。
相关文章:
- 如何从网站上抓取链接和图片
- Html抓取网站加载错误的J汤Java
- 如何获取网站所有页面的链接以进行数据抓取
- 我如何从一个无限滚动的网站抓取图像,其中api是隐藏的,我无法通过使用Inspect Element获得它->网络
- PHP:如何基于Javascript抓取网站内容
- 以类似于谷歌机器人的方式抓取网站html和javascript
- 如何抓取使用直接Web远程处理(DWR)返回操纵页面的Javascript的网站's的HTML
- 用Ruby抓取一个Javascript很重的网站
- 试图在网站上抓取谷歌地图api生成的动态数据,但正常抓取返回空白
- JS滑块网站 - 谷歌抓取
- 如何使用无限滚动抓取网站
- 抓取网站.无法在抓取期间自动执行用户单击
- 抓取网站失败是因为javascript没有启用
- 如何抓取网站内容(*COMPLEX* iframe, javascript提交)
- 使用zombie.js抓取网站的问题
- Python抓取网站得到Apache Tomcat/6.0.36 -错误报告
- 抓取网站's的每一个页面与谷歌应用程序脚本
- 如何使用phantomjs抓取网站
- 抓取网站并将表格插入到我自己的 HTML 文档中
- 如何使用node.js与ASP和AJAX抓取网站