这里有一点 igs 在每个爬取的数据格式后面一定要加上 igs 比如以下
/<span class="search-index-L">类型(.*?)<div class="grid-12x">/igs
igs 是一种数据格式,如果不加上会没结果,就好比 utf-8 一样,统一的数据格式
以下可以直接爬取网站的分类和电影地址
let req = require('request')
// let htUrl = "https://www.21cake.com/"
let htUrl = "https://www.1905.com/vod/list/n_1_t_1/03p1.html"
// 封装函数进行获取爬取页面的内容
function getReq(url){
return new Promise(function (resolve, reject){
req.get(url,function (err,res,body){
if (err){
reject(err)
} else {
resolve({res,body})
}
})
})
}
// 获取起始页的所有分类地址
async function getClass() {
let {response,body} = await getReq(htUrl)
// console.log(body)
let reg = /<span class="search-index-L">类型(.*?)<div class="grid-12x">/igs
// 爬取内容的格式,如果是这个格式就进行爬取
let result = reg.exec(body)[1]
let reg1 = /<a href="(.*?)".*?>(.*?)<\/a>/igs
let res;
let arrClass = []
while (res = reg1.exec(result)){
let obj = {
className:res[2],
url:res[1]
}
arrClass.push(obj)
}
console.log(arrClass)
}
// 通过分类,获取页面中的电影链接
async function getMov(url, moviesType) {
let {response,body} = await req(url)
let reg = /<a class="pic-pack-outer" target="_blank" href="(.*?) title=“我和我的姐姐"/igs;
let res;
// 创建空数组用来存放爬出的电影链接
let arrList = []
// 这里使用 while 判断,判断是否和爬取的格式一致,如果一直就进行存放到空数组
while(res = reg.exec(body)){
// 使用迭代器提升性能
arrList.push(res[1])
}
console.log("分类:",moviesType)
console.log(arrList)
}
getClass()
声明:本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。