爬虫抓取网页内容报警_爬虫工具[通俗易懂]

爬虫抓取网页内容报警_爬虫工具[通俗易懂]对于爬虫我们首先想到的是python,但是对于前端来说我们通常是node来写爬虫,去抓取网站的数据而已。爬虫的基本流程1、发起请求使用http库向目标站点发起请求,即发送一个Request,第三方请求库如request,axios等。Request包含:请求头、请求体等2、获取响应内容如果服务器能正常响应,则会得到一个ResponseResponse包含:html,json,图片,视频等3、解析内容解析html数据:正则表达式,第三方解析库如cheerio,PhantomJS._爬虫如何抓取网页数据

logo

对于爬虫我们首先想到的是 python,但是对于前端来说我们通常是 node 来写爬虫,去抓取网站的数据而已。

爬虫的基本流程

在这里插入图片描述

1、发起请求
使用http库向目标站点发起请求,即发送一个Request,第三方请求库如 request,axios 等。
Request包含:请求头、请求体等

2、获取响应内容
如果服务器能正常响应,则会得到一个Response
Response包含:html,json,图片,视频等

3、解析内容
解析html数据:正则表达式,第三方解析库如cheerio,PhantomJS,JSDom.等
解析json数据:json模块
解析二进制数据:以buffer的方式写入文件。

#4、保存数据
数据库

接下来以爬去腾讯网文章数据为例,首先要知道网站的请求地址是 https://www.qq.com/,根据这个地址我们发送一个请求,得到网站的源代码:

const request = require('request');
const url = 'https://www.qq.com/'
const fs = require('fs')
const cheerio = require('cheerio')
const iconv = require('iconv-lite')

request({ 
   url, encoding: null}, (err, response, body) => { 
   
  let result = iconv.decode(body, 'gb2312');
  console.log(result)
})

在得到网站源代码的过程中我们发现网站不是 utf8 编码格式的,而是 gb2312 的形式,所以我们借助 iconv-lite 模块解析。

得到了响应的内容之后,我们需要提取 html 中的内容,这次我想抓取网站的新闻标题部分。

const request = require('request')
const url = 'https://www.qq.com/'
const fs = require('fs')
const cheerio = require('cheerio')
const iconv = require('iconv-lite')

request({ 
   url, encoding: null}, (err, response, body) => { 
   
  let result = iconv.decode(body, 'gb2312');
  let list = []
  let $ = cheerio.load(result)
  $('.yw-list li').each((i, ele) => { 
   
    let text = $(ele).text().replace(/\s/g, '')
    list.push(text)
  })
  console.log(list)
  fs.writeFileSync('qq.json', JSON.stringify(list))
})

提取部分有用的内容之后,通常是保存到数据库中,或者写入到文件系统中。

今天的文章爬虫抓取网页内容报警_爬虫工具[通俗易懂]分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/58921.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注