获取HTML网页的所有CSS文件 [英] getting a all css files of an HTML web page

查看:302
本文介绍了获取HTML网页的所有CSS文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我知道,如果我想获得HTML代码,这很容易 - 只是使用PHP函数 - file_get_contents。

但问题是如果我可以轻松地在HTML的URL内搜索并从那里获取所有相关CSS的文件或内容文件?

注意 - 我想构建一个获取大量CSS文件的引擎,这就是为什么只读源代码是不够的。

感谢,

解决方案

href =http://simplehtmldom.sourceforge.net/> http://simplehtmldom.sourceforge.net/ 用于HTML解析。

  require_once'SimpleHtmlDom / simple_html_dom.php'; 

$ url ='www.website-to-scan.com';
$ website = file_get_html($ url);

//您可能需要根据您扫描的网站调整选择器
//示例:某些网站不设置rel属性
//其他人可能会使用减少而不是css
//
//其他一些选项:
//链接[href] - 任何具有href属性的链接(可能获得图标和其他资源,但应该捕获所有的CSS文件)
// link [href =*。css *] - 可能会丢失不是.css扩展名的文件,但会返回有效的css(例如:.less,.php等)
/ / link [type =text / css] - 可能错过没有此属性设置的样式表
foreach($ website-> find('link [rel =stylesheet]')as $ stylesheet)
{
$ stylesheet_url = $ stylesheet-> href;

//用URL
}做一些事情


I'm trying to get all css files of an html file from URL.

I know that if I want to get the HTML code it is easy - just using PHP function - "file_get_contents".

but the question is if I could search easily inside an a URL of HTML and get from there the files or content of all related CSS files?

Note - I want to build an engine for getting a lot of CSS files, this is why just reading the source is not enough..

Thanks,

解决方案

You could try using http://simplehtmldom.sourceforge.net/ for HTML parsing.

require_once 'SimpleHtmlDom/simple_html_dom.php';

$url = 'www.website-to-scan.com';
$website = file_get_html($url);

// You might need to tweak the selector based on the website you are scanning
// Example: some websites don't set the rel attribute
// others might use less instead of css
//
// Some other options:
// link[href] - Any link with a href attribute (might get favicons and other resources but should catch all the css files)
// link[href="*.css*"] - Might miss files that aren't .css extension but return valid css (e.g.: .less, .php, etc)
// link[type="text/css"] - Might miss stylesheets without this attribute set
foreach ($website->find('link[rel="stylesheet"]') as $stylesheet)
{
    $stylesheet_url = $stylesheet->href;

    // Do something with the URL
}

这篇关于获取HTML网页的所有CSS文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆