一提到爬虫,大多数同学都想到的是Python,今天小千就给大家上一下不同的菜,利用js制作一个爬虫,Python用腻了来试试js吧。

      一、引言

最近娱乐圈比较的火的算是郑爽事件了,作为一名程序猿如何能或者最新的娱乐热点新闻呢? 今天咱们就用js做一个网络爬虫,来爬取一个网站的新闻数据。

      二、什么是爬虫?

网络爬虫,又称为网页蜘蛛,网络机器人,意思是我们通过程序去搜集网络上某些网站的数据。典型的通过爬虫获取数据的网站,比如百度、谷歌等搜索引擎。还有一些新闻聚合类网站,比如今日头条等网站。之前淘宝的一淘,返利网等网站都是利用了爬虫技术去获取别人网站的一些信息。 爬虫也不能乱用,无限制的去爬取一个网站的信息,那样会导致人家公司服务器压力比较大。之前有句爬虫界比较流行的话:爬虫玩的好,监狱进的早;数据玩的溜,牢饭吃个够!做技术的要有自己的底线,之前有程序员用爬虫为公司做了一些工作,结果公司被诉讼,程序猿被带走!

      三、开始之前

为了防止出一些意外,首先我们可以访问你要爬取的目标网站的robots协议。 robots协议也叫robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络爬虫:此网站中的哪些内容是不应被爬虫获取的,哪些是可以被爬虫获取的。参考robots.txt去爬取数据,再设置一下间歇时间,不会有人在意的。

红色部分是关键,所有的网页都不能被爬取!!有句话不知当讲不当讲!

冷静下来,文章还没写就要结束了吗?我的kpi咋办!!!

看看我们的今天要爬取的网页地址,我们今天要爬取的网页后缀名不是html!!!

不知道是不是网站的技术人员忽略了这样的地址,哈哈哈。

      四、正式开始

我们使用nodejs做爬虫,要使用到两个npm包,cheerio 和 axios

首先按照nodej,然后安装axios和cheerio 。

      五、安装axios

axios是一个可以发起请求从而获取网页内的包。

键盘上按win+r,输入CMD,在里面输入   npm i aixos

就可以安装axios

      六、安装cheerio

安装cheerio cheerio 是一的用法跟jQuery的用法差不多。 就是先将页面的数据load进来形成一个特定的数据格式,然后通过类似jq的语法,对数据进行解析处理。 终端中输入

npm i cheerio

      七、爬取数据

新建sp.js文件,写入如下代码

执行node sp.js 命令

网页的数据已经获取到了,然后我们就可以使用jquery的语法获取页面中的数据了。 下面我们分析一下页面的结构

可以看到页面中所有的新闻标题都在a标签中,类名是truetit。然后我们就可以使用jq的选择器获取页面中所有类名为truetit的元素。

终端中结果

这样每次执行就可以获取最新的娱乐新闻,不需要打开网页就可以获取到,当然我们只是获取了第一页的数据,你也可以获取第二页、第三页等其他页面的数据。 我们现在相当于只获取了一个网站的娱乐数据,如果你再分析一些其他的网站,获取一些其他的网站的数据,然后把数据都存储起来,自己就可以做一个只显示娱乐新闻的网站了!

同学们学习web前端,可以参考千锋成都web前端培训班推出的学习路线,结合千锋成都名师精心录制的全套web前端视频教程,可以让你对学习web前端需要掌握的知识有个清晰的了解,并快速入门web前端开发。

Python爬虫看腻了?JS爬虫来拯救你!相关推荐

  1. python中 getnode用法_node.js 爬虫入门总结

    node.js爬虫 前端同学可能向来对爬虫不是很感冒,觉得爬虫需要用偏后端的语言,诸如 php , python 等.当然这是在 nodejs 前了,nodejs 的出现,使得 Javascript ...

  2. Node.js爬虫一站到底系列先导篇

    前言: 在web编程课上,老师布置了爬虫任务,而没有任何经验和相关方面知识的小白简直一头雾水,不知道该如何下手.一开始抱着一本厚厚的犀牛书啃了好几天,本以为对Javascipt语法有一定了解后便可以自 ...

  3. nodejs爬虫与python爬虫_Python,Node.js 哪个比较适合写爬虫?

    主要看你定义的"爬虫"干什么用. 1.如果是定向爬取几个页面,做一些简单的页面解析,爬取效率不是核心要求,那么用什么语言差异不大. 当然要是页面结构复杂,正则表达式写得巨复杂,尤其 ...

  4. python展开阅读全文_展开阅读全文 js 爬虫操作

    from selenium import webdriver import time import random from bs4 import * browser = webdriver.Chrom ...

  5. Python爬虫教程-16-破解js加密实例(有道在线翻译)

    python爬虫教程-16-破解js加密实例(有道在线翻译) 在爬虫爬取网站的时候,经常遇到一些反爬虫技术,比如: 加cookie,身份验证UserAgent 图形验证,还有很难破解的滑动验证 js签 ...

  6. python爬虫高级教程,JS逆向之百度翻译

    环境 python版本号 系统 游览器 python 3.7.2 win7 google chrome 关于本文 本文将会通过爬虫的方式实现简单的百度翻译.本文中的代码只供学习,不允许作为于商务作用. ...

  7. 看不懂别做爬虫-----python scrapy爬取淘宝

    淘宝商品数据爬取 1.网页分析 做爬虫第一步当然是打开网页进行分析 首先打开网站以后 发现在显示的位置 没有我们想要的数据 那我们就 使用查找就可以 ctrl + f 复制一个商品的信息 看看网页源代 ...

  8. python爬虫百科-Python从概念上先了解爬虫

    什么是爬虫 爬虫:就是抓取网页数据的程序.搜索引擎的底层其实就是爬虫. 百度百科:网络爬虫 关于Python爬虫,我们需要学习的有: Python基础语法学习(基础知识) HTML页面的内容抓取(数据 ...

  9. svg text换行_5分钟看懂SVG反爬虫原理与绕过实战 | 知了干货分享

    SVG反爬虫不同于字体反爬虫,它巧妙的利用css 与 svg的关系,将字符映射到网页中,看起来虽然正常,但是却抓取不到有效内容.本文带你深入浅出,破了SVG反爬虫的套路,学会之后,可应用于某点评网. ...

最新文章

  1. bzoj1251: 序列终结者 (splay)
  2. ffmpeg 基本用法大全
  3. HDU 2896 病毒侵袭 AC自动机
  4. 大厂面试官最喜欢问的面试难点
  5. [LeetCode] Valid Anagram
  6. 计算当前时间往加N天后的时间,Date,SimpleDateFormat,Calendar
  7. BeagleBone Black 板第三课:Debian7.5系统安装和远程控制BBB板
  8. python_字符串常用方法
  9. 计算机网络应用基础试题6,计算机网络应用基础期末试卷试题2
  10. oracle周数计算方法
  11. matlab 图像分割_数字图像处理第三版中_冈萨雷斯【MATLAB】(推书活动第十七期)...
  12. flash模拟器调全屏_模拟全屏或调暗背景
  13. NSGA-II中“支配”的概念
  14. linux scp密码参数,linux-scp不输入密码 - 不断的前进ING。。。 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  15. php开发之Composer包
  16. 怎么样把聊天记录彻底删除?
  17. pcm输出还是源码输出_观看高清必备 如何简单实现源码输出
  18. 数值计算一阶常微分方程求解实现
  19. beautifulsoup的用法
  20. richedit php,VC中RichEdit 控件的使用

热门文章

  1. 【毕业设计】基于SSM的教务管理系统
  2. Hough变换与Radon变换的联系与区别
  3. 一图看懂SpringBoot项目结构
  4. Java实现聊天软件(一)界面编写
  5. 线性表之顺序存储结构与链式存储结构 及 应用
  6. 2019年阿里云主机优惠购买指南
  7. MATLAB--数字图像处理 车牌识别之简易识别程序
  8. 树模型与线性模型的区别 决策树分类和逻辑回归分类的区别 【总结】
  9. 谷歌周二可能推游戏流媒体服务 正式进入1400亿美元游戏行业
  10. 可分离卷积及深度可分离卷积详解