node爬虫(伪造header)

文章目录


网站中动态渲染的页面需要请求ajax地址获取数据然后操作获取到的数据,存入文件

// 引入https模块
const https = require('https')
// 引入fs模块
const fs = require('fs')
const url = 'https://weibo.com/ajax/side/hotSearch'
// 伪造请求头,使用请求方法
const req = https.request( url , { method : 'get' , header:{
    'authority': 'weibo.com',
    'method': 'GET',
    'path': '/ajax/side/hotSearch',
    'scheme': 'https',
    'accept': 'application/json, text/plain',
    'accept-encoding': 'gzip, deflate',
    'accept-language': 'zh-CN,zh;q=0.9',
    'client-version': 'v2.39.11',
    'cookie: SUB' :'_2AkMV8Va5f8NxqwJRmfsRy2zibYp3zg3EieKjradiJRMxHRl-yT9jqm4TtRB6PnF4VrUm_8R2sMVNbWPxXv32RSyaeK0g; UOR=www.fengfengzhidao.com,s.weibo.com,www.fengfengzhidao.com; SINAGLOBAL=8261570728013.232.1676544993660; ULV=1676544993765:1:1:1:8261570728013.232.1676544993660:; XSRF-TOKEN=qkag5L4a3VKkyOta0XWU4VbU; WBPSESS=mm07v0uQ8nV44TNSi6a9Lebp7dgHcnVYLsUiAsmisBaK6r-N6miZrPKTfFk95sDm5C-tGfyzcpx72fceiJuVVoH9bb6f5m14tS_CjUDpn3Ql_R3fAgQx0jcjKGNCMymJe0upWL2bHmxhlSK5QbBFvGKlwip_tdk8fAU3AUvnDdk=',
    'referer': 'https://weibo.com/newlogin?tabtype=search&gid=&openLoginLayer=0&url=',
}} , res=>{
    let chunks = []
    // 监听网页数据
    res.on('data', chunk=>{
        chunks.push(chunk)
    })
    // 监听网页数据完成
    res.on('end', ()=>{
    // 接收爬取的数据进行字符串转化
       const result = Buffer.concat(chunks).toString('utf-8')
    // 字符串转换为对象
       let hotArr = JSON.parse(result).data.realtime
    // 定义一个新数组,用于存放筛选后的数据
       let newHotArr = []
    // 遍历数据,指定自己需要的数据
       hotArr.forEach(item => {
        newHotArr.push({
                'note':item.note,
                'rank':item.rank
            })
       })
    // 使用fs模块,将数据写入文件中
       fs.writeFile('./wb_news/wb_news.text' , JSON.stringify(newHotArr) , function(err){
        if(err){
            console.log('文件写入失败:' + err.message);
            }else{
            console.log('文件写入成功');
            }
       })
    })
})
// 发送请求
req.end()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忧郁火龙果

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值