爬虫(文字+图片)

图片抓取案例

var http=require("http")
var fs=require("fs")
var cheerio=require("cheerio");
var sd=require("silly-datetime")
var path=require("path")


http.get("http://www.mm131.com",function(res){
     

    var result="";
    res.on("data",function(chunk){
        
        result+=chunk
    })

    res.on("end",function(){

        // console.log(result.toString())
        var $=cheerio.load(result);

        // console.log($("dd a"))

        $("dd+dd a").each(function(index,value){
            // console.log($(value).attr("href"))

            http.get($(value).attr("href"),(res1)=>{
                var result1="";
                res1.on("data",(chunk)=>{
                    result1+=chunk
                })
                res1.on("end",()=>{
                    // console.log(result1.toString())

                    var $$=cheerio.load(result1);

                    $$(".content-pic img").each(function(index,value){
                        // console.log($(value).attr("src"));
                        http.get($(value).attr("src"),function(res3){
                            var ttt=sd.format(new Date(),"YYYYMMDDHHmmss");
                            var ran=Math.floor(Math.random()*10000+8999);
                            var extname=path.extname($(value).attr("src"));
                            var  writeStream=fs.createWriteStream(path.join(__dirname,"./upload/",ttt+ran+extname));
                            res3.pipe(writeStream).on("close",function(){
                                console.log("下载完毕")
                            })
                        })
                    })
                })
            })
        })

    })
})

文字抓取案例

var http=require("http")
var fs=require("fs")
var cheerio=require("cheerio");

http.get("http://unclealan.cn/index.php",function(res){

         var result="";
         res.on("data",function(chunk){     
         result+=chunk
       })

         res.on("end",function(){
             
             var $=cheerio.load(result);
             $(".post-permalink a").each(function(index,value){

                http.get($(value).attr("href"),function(res1){
                    var result1="";
                    res1.on("data",(chunk)=>{
                        result1+=chunk
                    })
                    res1.on("end",function(){
                        var $$=cheerio.load(result1);
                        $$(".post-content").each(function(index,value){
                            
                            console.log($(value).text());

                            fs.appendFile('message1.txt',$(value).text(), (err) => {
                            
                                });
                        })
                    })
                })
             })
        })
    })


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 序言第1章 Scrapy介绍第2章 理解HTML和XPath第3章 爬虫基础第4章 从Scrapy到移动应用第5章...
    SeanCheney阅读 15,158评论 13 61
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,245评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,372评论 25 708
  • 过年前后一直被朋友拉着玩“王者荣耀” 都快忘记有这个软件了 翻了翻之前画的 羞愧的我模仿别人画个狮子 压压惊!
    为了挨着拉屎阅读 205评论 0 0
  • 写一下我对生活的感悟,人心叵测,有时你看不透;感情冷暖,有时你猜不到;缘分聚散,有时你握不住;世态炎凉,有时你想不...
    小白语录阅读 298评论 0 1