nodejs 爬取 $eval div id
时间: 2023-11-22 19:35:14 浏览: 32
可以第三方库 `cheerio` 来实现在 Node.js 中爬取 HTML 页面并获取特定元素的内容。以下是一个示例代码:
```javascript
const request = require('request');
const cheerio = require('cheerio');
const url = 'http://example.com';
request(url, (error, response, body) => {
if (!error && response.statusCode === 200) {
const $ = cheerio.load(body);
const divContent = $('#div_id').text();
console.log(divContent);
} else {
console.error('Error:', error);
}
});
```
其中,`request` 库用于发起 HTTP 请求,`cheerio` 库用于解析 HTML 页面。通过 `$()` 方法传入页面内容 `body`,就可以像使用 jQuery 一样从中获取特定元素的内容。以上代码中,`#div_id` 表示获取 `id` 为 `div_id` 的 `div` 元素的内容。
相关问题
nodejs爬取豆瓣
可以使用 Node.js 中的 request 和 cheerio 模块来实现爬取豆瓣网站的数据。具体步骤如下:
1. 安装 request 和 cheerio 模块:
```
npm install request cheerio
```
2. 使用 request 模块发送请求,获取网页内容:
```javascript
const request = require('request');
request('https://movie.douban.com/top250', (error, response, body) => {
if (!error && response.statusCode == 200) {
console.log(body);
}
});
```
3. 使用 cheerio 模块解析网页内容,获取需要的数据:
```javascript
const request = require('request');
const cheerio = require('cheerio');
request('https://movie.douban.com/top250', (error, response, body) => {
if (!error && response.statusCode == 200) {
const $ = cheerio.load(body);
$('div.item').each((i, element) => {
const title = $(element).find('span.title').text();
console.log(title);
});
}
});
```
以上代码可以获取豆瓣电影 Top250 的电影名称。
nodejs爬取网页内容
要使用 Node.js 爬取网页内容,可以使用第三方库 `axios` 或 `request` 来发送 HTTP 请求获取网页内容,同时使用 `cheerio` 或 `jsdom` 来解析 HTML 文档。
以下是一个使用 `axios` 和 `cheerio` 的例子:
```javascript
const axios = require('axios');
const cheerio = require('cheerio');
axios.get('https://www.example.com')
.then(response => {
const html = response.data;
const $ = cheerio.load(html);
const title = $('title').text();
console.log(title);
})
.catch(error => {
console.log(error);
});
```
这个例子中,我们使用 `axios` 发送 GET 请求到 `https://www.example.com`,然后获取响应的 HTML 内容。接着,我们使用 `cheerio` 将 HTML 转换为可操作的 DOM 对象,然后使用 jQuery 的语法来获取网页的标题,并将标题输出到控制台。
注意,如果要爬取的网站需要登录或使用代理等特殊操作,需要使用相应的技术来处理。另外,爬取网页内容时也要注意遵守网站的规则,不要过度请求或泄露用户隐私。