javascript - 如何确定不同页面是否确实需要包含的 JavaScript 文件?

标签 javascript include audit web-crawler

我正在寻找一种方法来抓取网站(或首页列表)并确定是否确实需要相关页面上包含的 JS 文件,或者哪些页面确实需要特定的 JS 文件。

服务器端语言是PHP。页面的实际爬取不会成为问题。

我继承了一个非常*大的网站。到目前为止,惯例是如果任何子页面需要 JavaScript 文件,通常会将其放入每个页面的模板中。没有条件。没有缩小。没有串联。

展望 future ,我们将推出 require.js,但现在需要在遗留页面上做一些事情。

  • Web 目录中的 30k+ 个文件,Google 为该域索引了 350k+ 个页面。

最佳答案

是否需要js文件取决于你在某个网页中想要什么数据或效果。似乎没有针对所有站点执行此操作的通用方法。

如果你只是想在加载一个js文件生成的网页上获取一些数据,比如商品页面上的价格和库存,那么你必须使用requests。或 urllib2检索html页面并解析页面,看看你要的数据是否在静态页面上。如果不是,数据可能是由 js 文件生成的,您应该使用 chrome 或 firebug 中的 google developer tools 来确定需要哪个 js 文件。

除此之外,不知道还有没有其他场景需要在爬取站点的时候判断是否需要js文件。

如果您不想像上面那样进行分析工作,只需使用一些headless-browser 技术来抓取网站,例如PhantomJS。 (推荐)、qtwebkit 或 selenium。

关于javascript - 如何确定不同页面是否确实需要包含的 JavaScript 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20494893/

相关文章:

javascript - React 组件中的不同区域

javascript - 如何使用 HTML5 Geolocation API 实现 promise ?

include - 创建包含文件时出错 缺少 REPORT/PROGRAM 语句

wpf - 在 xaml 中包含 xaml 元素

powershell - 在 PowerShell 中包含相关文件

rest - 通过 REST 捕获审计跟踪信息

javascript - Angular ngInit 格式化

javascript - jQuery 美元符号混淆

java - 如何让 Java 反射(reflect)到父类(super class)中的点字段?不仅仅是实际的类(class)

java - Spring 数据 Mongo 审计字段反射(reflect)在嵌套文档中