html5语义标签以及使用nodejs request库抓取网站数据

html5语义标签

Element Description
<section> 定义文档中的一个章节。
<nav> 定义只包含导航链接的章节。
<article> 定义可以独立于内容其余部分的完整独立内容块。
<aside> 定义和页面内容关联度较低的内容——如果被删除,剩下的内容仍然很合理。
<header> 定义页面或章节的头部。它经常包含 logo、页面标题和导航性的目录。
<footer> 定义页面或章节的尾部。它经常包含版权信息、法律信息链接和反馈建议用的地址。
<address> 定义包含联系信息的一个章节。
<main> 定义文档中主要或重要的内容。

如图:
图片描述

使用nodejs request库抓取网站数据

分析数据

查看请求 如图:

打开chrome开发者工具crtl+shift+i,打开network面板,选择XHR
图片描述
找到需要数据的XHR请求
图片描述

分析请求

箭头所示地方 发现 该数据是使用post请求并且传值形式如 "form: trendType=01",请求的url也一目了然

伪造请求

那么接下来的事情就比较简单了,我们只需要根据找到的这个请求格式设置headers,再请求这个api的url即可

'accept': 'application/json, text/javascript, */*; q=0.01',
  'origin': 'http://www.liangdawang.com',
  'referer': 'http://www.liangdawang.com/',
  'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36'

下载数据

查看request文档再使用pipe方法将获取的数据下载到本地保存起来

request(options, callback).pipe(fs.createWriteStream(options.form.trendType + `.json`));

代码链接

源码 https://gitee.com/imgwho/lian...

预览 https://imgwho.gitee.io/liangyou

猜你喜欢

转载自www.cnblogs.com/homehtml/p/12806784.html