node. js csdn 블 로그 방문 량
15015 단어 node.js
const request = require('request')
const cheerio = require('cheerio')
// , ,
let indexPage = 1
// + /article/list/ +
let url = 'https://blog.csdn.net/weixin_45266125/article/list/' + indexPage
//
request(url, (error, response, body) => {
if (!error && response.statusCode === 200) {
// html
let $ = cheerio.load(body)
//
let allCount = $('#blog_statistics li span').first().text() || 20
let page = parseInt(allCount) / 20
let pageStr = page.toString()
//
if (pageStr.indexOf('.') > 0) {
page = parseInt(pageStr.split('.')[0]) + 1
}
// json
let data = {}
//
let articles = []
data.allPages = page
data.currentPage = parseInt(indexPage)
// .article-list h4 a ,
$('.article-list h4 a').each((ins, el) => {
let article = {} //
$(el).find(".article-type").remove()
//
let text = ($(el).text().replace(/\ +/g,"")).replace(/[\r
]/g,"")
//
let url = ($(el).attr('href').replace(/\ +/g,"")).replace(/[\r
]/g,"")
// title
if (text.length > 20){
text = text.substring(0, 20).concat('...')
}
article.title = text
article.url = url
articles.push(article)
})
data.articles = articles
// , ,
intervalArticle(articles)
} else {
// json
let data = {}
data.msg = ' '
}
})
let intervalArticle = urls => {
var count = 0 //
var len = urls.length //
var co = 0 //
setInterval(function() {
count = count + 1
// 0~len , ,
// co = Math.floor(Math.random() * len)
//
request(urls[co].url, function (error, response, body) {
if (!error && response.statusCode === 200) {
// console.log(` :${count} , :${urls[co].title} , :${ parseInt((count + len) / len) }`)
}
})
++co
if (co === len) {
co = 0
}
}, 60000)
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Express + AWS S3 이미지 업로드하기웹 사이트 및 모바일 애플리케이션 등에서 원하는 양의 데이터를 저장하고 보호할 수 있다. 데이터에 대한 액세스를 최적화, 구조화 및 구성할 수 있는 관리 기능을 제공한다. AWS S3 에 저장된 객체에 대한 컨테이너...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.