特别申明:阅读本文之后,请勿滥用爬虫采集资源,攻击他人服务器。
网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
开门见山,小编所接触到的爬虫分为两种,一种为基本的http或https请求,使用网络请求来获取目标内容。第二种为无头浏览器,可以将目标页面直接运行在无头浏览器中。两种方法各有利弊,接下来我们详细了解一下。
小编是一名前端程序员,熟悉javascript,所以这里的举例都是使用nodejs代码。先来说说第一种爬虫,使用http请求的方式。
http请求
我们可以使用nodejs种的http(s)模块来请求目标网址,也可以使用axios这样的第三方库来请求网页。拿到html后使用html解析库将其解析为方便操作的js对象,然后抓去目标内容。解析库这里推荐使用cheerio。cheerio提供了类似jQuery的操作方法,可以轻松的抓去到我们想要的内容。
// demo1
const cheerio = require('cheerio')
const axios = require('axios')
async function main() {
const resp = await axios.get('https://www.jianshu.com/')
console.log(resp.data)
}
main()
通过node demo