正则表达式jquery检查模式并获取HTML

时间:2016-03-01 16:07:26

标签: javascript jquery regex

我正在尝试为jquery编写一个正则表达式来从youtube搜索结果中获取所有数据。这是一个chrome扩展程序,所以当你打开youtube时它被集成到chrome浏览器 https://www.youtube.com/results?search_query=american+idol 我想在结果页面中获取当前视频的所有数据。检查元素时。

但是我必须在jquery中写一些内容来获取结果页面上所有视频的所有值。任何人都可以帮忙。

我希望我的问题很明确。

由于

1 个答案:

答案 0 :(得分:0)

这就是我解决它的方式,如果以后能为别人派上用场的话。

//Function to fetch the YouTube Id, Video Id, Title and Views 
function getDom(className) {
    if(className == '.yt-lockup-byline' || className == '.yt-lockup-title') {
        var items = $(className).find('a');
    } else if(className == '.yt-lockup-meta-info') {
        var items = $(className).find('li');
    }
    var length = items.length;
    var position = -1;
    var obj_b = next();

    function next() {
        position = (position + 1 < length) ? position + 1 : 0;
        return items.eq(position);
    }

    if (className == '.yt-lockup-byline') {
        $.each(obj_b.prevObject, function() {
            var str_result = this.attributes[2].nodeValue;
            console.log("YouTube ID :- "+str_result);
        });
    } else if (className == '.yt-lockup-meta-info') {
        $.each(obj_b.prevObject, function() {
            var str_result = this.innerHTML;
            console.log("Views :- "+str_result);
        });
    } else if (className == '.yt-lockup-title') {
        $.each(obj_b.prevObject, function() {
            var str_result = this.attributes[3].nodeValue;
            var str_video_id = this.attributes[0].nodeValue;
            console.log("YouTube Title :- "+str_result);
            console.log("YouTube Video ID :- "+str_video_id);
        });
    }

}
//For fetching YotuTube Id
getDom('.yt-lockup-byline');
//For fetching views and release date
getDom('.yt-lockup-meta-info');
//For fetching title and video id
getDom('.yt-lockup-title');