Phantomjs Can´;t从Instagram追随者通过节点骑士获得ul倒数第二名li

Phantomjs Can´;t从Instagram追随者通过节点骑士获得ul倒数第二名li,phantomjs,node-horseman,Phantomjs,Node Horseman,这是我第一次来这里。我在寻找问题,但还没有找到答案,所以我希望这里有人能给我一个提示 情况如下: 我使用节点horseman 3.1.1从Instagram中检索我的追随者 我的工作流程是登录,打开我的用户,打开我的追随者。这很好,我看到了html源代码和屏幕截图,证明一切正常 然后我试着从一个有几个李的ul那里得到追随者的名单。我可以访问第一个li,但不能访问其他li。 我试过: 骑士 .评估(功能)(完成){ var result={li:[],长度:0}; var followerList

这是我第一次来这里。我在寻找问题,但还没有找到答案,所以我希望这里有人能给我一个提示

情况如下: 我使用节点horseman 3.1.1从Instagram中检索我的追随者

我的工作流程是登录,打开我的用户,打开我的追随者。这很好,我看到了html源代码和屏幕截图,证明一切正常

然后我试着从一个有几个李的ul那里得到追随者的名单。我可以访问第一个li,但不能访问其他li。 我试过:

骑士
.评估(功能)(完成){
var result={li:[],长度:0};
var followerList=$(“ul._539vh._4j13h”);
followerList.each(函数(i,el){
结果:推挤(el);
});
//或
var followerList=document.getElementsByClassName(“_cx1ua”);
followerList.children().each(函数(i,el){
结果:推挤(el);
});
//还尝试了CSS选择器:
//反复阅读李的文章
//ul._539vh._4j13h儿童
//儿童部
//李.\u cx1ua兄弟姐妹
//a.(不翻译)(不翻译)
完成(null,result);}.then(函数(链接){
log('A:'+Link+'长度:'+Link.Length);
var children=Link.childNodes;
对于(变量i=0;i
第1个版本输出数组长度0和第一个li及其数据。第2个版本输出空数组

然后我试着:

horseman
        .evaluate(function (done) {
            var result = {li:[], length: 0};

            var Link = document.evaluate("/html/body/div/div/div[2]/div/div[2]/ul", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;Link.children = [];
            for (var i = 8; i < 9;i++) {
                result.length += 1;
                li = document.evaluate("/html/body/div/div/div[2]/div/div[2]/ul/li", document, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
                li.children = null;
                result.li.push(li);
            }}
骑士
.评估(功能)(完成){
var result={li:[],长度:0};
var Link=document.evaluate(“/html/body/div/div/div[2]/div/div[2]/ul”,document,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null)。singleNodeValue;Link.children=[];
对于(变量i=8;i<9;i++){
结果:长度+=1;
li=document.evaluate(“/html/body/div/div/div[2]/div/div[2]/ul/li”,document,null,XPathResult.ORDERED\u NODE\u ITERATOR\u TYPE,null);
li.children=null;
结果.力.推(力);
}}
但这也只给了我第一个李,这也是不完整的

我还试图返回ul元素,并在稍后对lis进行迭代,但这只给了我一个空数组。 返回第一个li并尝试迭代它的兄弟姐妹也失败了

我做错了什么?我发现一些线程表明phantomjs中的ocument.evaluate(“/html/body/div/div/div[2]/div/div[2]/ul/li”,document,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null)

我知道Selenium可以做我需要的事情,但它需要启动Firefox或Chrome,并带有一个可见的GUI实例。这会阻止其他活动,而且资源紧张

有人知道另一种方法吗?抓取似乎是不可能的,因为Instagram在访问用户未登录时阻止访问关注者和以下列表

亲切问候,, 坦率的

horseman
        .evaluate(function (done) {
            var result = {li:[], length: 0};

            var Link = document.evaluate("/html/body/div/div/div[2]/div/div[2]/ul", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;Link.children = [];
            for (var i = 8; i < 9;i++) {
                result.length += 1;
                li = document.evaluate("/html/body/div/div/div[2]/div/div[2]/ul/li", document, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
                li.children = null;
                result.li.push(li);
            }}