首页 > 代码库 > 再论pyquery

再论pyquery

发现对于QQ群

空间文件的抓取毫无办法。

QQ空间的代码可圈可点:

做了一个js的“客户端”,第一次加载时,将文件的列表信息全部抓取出来,然后基于js进行翻页和排序。

因此,想要抓取js渲染的dom,是不可能的,此处只能用js或者jq来操作了。

 

对于这种情况,得用js写“爬虫”逻辑。

 

附上qq空间群文件的抓取逻辑,如下:

var getDom = function(cls){return document.getElementsByClassName(cls);};var clickPage = function(index){   pages = getDom("ui_mr5");   for(j=0;j<pages.length;j++){       if(pages[j].innerText==(‘‘+index))          pages[j].click();	   }};var showAllResource =function(page_count){	for(p = 1; p<=page_count; p++){		clickPage(p);		names = getDom("td_name");		sizes= getDom("td_size");		authors = getDom("td_uploaded_author");		times = getDom("td_time");		for(i =0 ;i<names.length;i++){console.log(names[i].title+","+sizes[i].innerText+","+authors[i].innerText+","+times[i].innerText);}	}};

 

调用方法,直接在浏览器的console里面执行以上代码后调用:showAllResource(最大的页码); 

 

再论pyquery