我正在寻找一种方法来抓取网站(或首页列表)并确定是否确实需要相关页面上包含的 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/