如何编写一个简易的node爬虫获取任意网址的title呢?

发布于 2022-09-06 15:48:18 字数 385 浏览 14 评论 0

方法的参数为url 然后 返回值为 title。

如:

function getTitle(url){
 .......
 return title
}
getTitle('http://www.baidu.com')  

得到 "百度"

getTIttle('http://www.126.com') 

得到 "网易邮箱"

如下图,如何写一个方法获取任意网址的title呢?

clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

不必了 2022-09-13 15:48:18

纯前端使用ajax或者iframe都会存在跨域问题。
需要服务端进行请求指定地址,获取到地址对应的页面,然后提取出title标签中内容。

赤濁 2022-09-13 15:48:18

使用superagent+cheerio

superagent.get(url)
    .end((err, res) => {
        const $ = cheerio.load(res.text)
        console.log($('title').text())
    })
扎心 2022-09-13 15:48:18
// npm install request
var request = require('request');
request('https://www.taobao.com', function (error, response, body) {
    var array = /<title>(.*)<\/title>/gi.exec(body);
    if (array != null) {
        console.log('title:', array[1]);
    }
});
幻想少年梦 2022-09-13 15:48:18

获取任意网址的html页面,获取页面中<title>标签里面的内容。
如果想封装成一个方法,那就将不同的功能分别写成函数,依次调用。

空名 2022-09-13 15:48:18

clipboard.png

情域 2022-09-13 15:48:18

需要通过ajax获取指定url的页面内容,然后再从中分析出其标题

反差帅 2022-09-13 15:48:18

任意是做不到的,因为有的网站对cookie有要求,不符合的话是直接403的。

对于没有验证要求的网站,最基本的使用http.get获取html再解析即可。解析可以用正则或者cheerio

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文