利用node.js写爬虫 爬取某相亲网站全部交友信息

news/2024/5/20 21:51:34/文章来源:https://yongcun.blog.csdn.net/article/details/78051566

点击查看爬取世纪佳缘相亲交友信息

利用node.js,写了一个爬虫js。1个小时左右的时间,便爬取了2000多条交友信息,包括网名,年龄,图片,学历,工资等。当然,爬取的速度和网速有很大的关系,也和你要爬取的网站响应的速度有关。先看一下,爬取的成果(涉及隐私,面部全部打上马赛克)

说一下思路和代码流程:

首先require引入http(如果爬取的网站是https安全模式的话,引入https),fs,  path 。代码如下:

 

var https = require("https");
var http = require("http");
var fs = require("fs");
var path = require("path");
var file;

 

封装一个下载图片到本地的函数,也就是说,给这个函数传一个图片在互联网的地址就可以下载这张图片到本地。图片的命名采用爬虫爬取的网名+性别+交友宣言+学历+工资..........

 

function downPic(url) {var filename = path.join("images",file);http.get(url,function (res) {res.setEncoding("binary");var data = "";res.on("data",function (chunk) {data+=chunk;});res.on("end",function () {fs.writeFile(filename, data,{encoding:"binary"}, function (err) {if (err){console.log(err);}else {console.log("下载成功!");};});});});
}

 

选择想要爬取网站的地址url(比如:http://www.xxxx.com),先把这个网站所有的html爬取下来。

 

var file="http://www.xxxx.com"
http.get(file,function (res) {var data = "";res.on("data",function (chunk) {data += chunk;});res.on("end",function (){console.log(data); }

 

如上代码,data中已经保存了该页面的所有html文档内容。剩下了就是对这个data中有用的信息进行处理。利用强大的正则表达式对该页面进行筛选。然后把所有的有用信息,存在数组里边。

 

var reg_img = /src="(http:\/\/[a-zA-Z0-9-/_.]+)" alt="/g; //爬取图片var reg_name = /" target="_blank">([a-zA-Z0-9-\u4E00-\u9FA5/]+)<\/a><\/span>/g; //爬取网名var reg_info = /"fz12">([a-zA-Z0-9-\u4E00-\u9FA5,\s]+)/g; //爬取信息var reg_address = /    ([\u4E00-\u9FA5\s-]+)<br/g; //爬取地址var reg_salary=/月薪:([0-9-\u4E00-\u9FA5\s-]+)<\/p/g; //爬取工资var reg_intro=/" target="_blank">([a-zA-Z0-9-\u4E00-\u9FA5 \/,?。;:'"、.\r\n\s]+)<\/a><\/p>/g;  //爬取介绍var temp;var imgs = [];var names = [];var infos = [];var address = [];var salarys = [];var intros = [];while ((temp=reg_img.exec(data))!=null){imgs.push(temp[1]);}while ((temp=reg_name.exec(data))!=null){names.push(temp[1]);}while ((temp=reg_info.exec(data))!=null){infos.push(temp[1]);}while ((temp=reg_address.exec(data))!=null){address.push(temp[1].trim());}while ((temp=reg_salary.exec(data))!=null){salarys.push(temp[1]);}while ((temp=reg_intro.exec(data))!=null){intros.push(temp[1]);}for(var i=0;i<imgs.length;i++){   a++;file=a+" 网名:"+names[i]+" 信息:"+infos[i]+" 地址:"+address[i]+" 工资:"+salarys[i]+"元"+"介绍:"+intros[i]+".jpg";downPic(imgs[i]);}
})

 

 

 

到这里一个页面的信息就爬取完了,要想爬取多个页面。就要改变url,然后多次代用上面的代码。多次调用可以通过for()循环,或者通过setInterval()定时器每隔一段时间调用一次。建议通过定时器进行调用,因为通过for循环的话,太快!且不说你自己的电脑受不受得了,而且你不断的爬取获取该网站的内容,容易被该网站发现。很多的网站都有反爬虫监控。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_827957.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分享21个广告排行、15个交友会员、25个网站导航和39个文件管理PHP源码,总有一款适合你

链接&#xff1a;https://pan.baidu.com/s/1aMHf6wDNbHm-2upU287w2A 提取码&#xff1a;px8q 分享21个广告排行、15个交友会员、25个网站导航和39个文件管理PHP源码&#xff0c;总有一款适合你 下面是文件的名字&#xff0c;我放了一些图片&#xff0c;文章里不是所有的图主要…

支付宝记---电脑网站支付(.NET)

根据商品信息和价格生成支付宝支付的二维码 2019年夏&#xff0c;张渔歌仄伏于家中。越明年&#xff0c;疫情依旧&#xff0c;渔歌隧研究支付宝支付。其中心酸不言表&#xff0c;属予作文以记之。 一、准备工作 1、支付宝开发平台https://open.alipay.com/。需要进行企业级的…

Web Monitor/Dev/Test Tool Collection 网站/网页监控/开发/测试工具集合

HttpWatch HttpWatch是强大的网页数据分析工具. 包括网页摘要.Cookies管理.缓存管理.消息头发送/接受.字符查询.POST 数据和目录管理功能.报告输出. Features: Easily monitor HTTPS, HTTP and SPDY without using proxies or changing network settingsSupports IE/Firefox on…

Java 爬虫遇到需要登录的网站,该怎么办?

这是 Java 网络爬虫系列博文的第二篇&#xff0c;在上一篇 Java 网络爬虫&#xff0c;就是这么的简单 中&#xff0c;我们简单的学习了一下如何利用 Java 进行网络爬虫。在这一篇中我们将简单的聊一聊在网络爬虫时&#xff0c;遇到需要登录的网站&#xff0c;我们该怎么办&…

【Python】Flask+Gunicorn搭建简单网站

1.安装Flask第三方库 pip3 install Flask 2.创建Flask应用程序 项目结构如上图所示&#xff0c;其中static用来放置静态文件&#xff0c;如js文件、css文件以及图片等&#xff0c;templates文件夹用来放置模板文件&#xff0c;即html文件。 在项目中导入Flask第三方库&#…

【大型网站技术实践】初级篇:借助Nginx搭建反向代理服务器

一、反向代理&#xff1a;Web服务器的“经纪人” 1.1 反向代理初印象 反向代理&#xff08;Reverse Proxy&#xff09;方式是指以代理服务器来接受internet上的连接请求&#xff0c;然后将请求转发给内部网络上的服务器&#xff0c;并将从服务器上得到的结果返回给internet上请…

css3和html5网站模板

过去的几年&#xff0c;网页设计和制作人员就已开始关注和使用 HTML5 了&#xff0c;如今 HTML5 得到了更加广泛的应用&#xff0c;国外已有很多基于 HTML5 制作的网站。所以&#xff0c;今天这篇文章给大家带来的是35款基于 HTML5 和 CSS3 的非常精致的网站模板&#xff0c;大…

分享88个ASP.NET企业网站源码,总有一款适合您

分享88个ASP.NET企业网站源码&#xff0c;总有一款适合您 88个ASP.NET企业网站源码下载链接&#xff1a;https://pan.baidu.com/s/1AXv0-dmV-bV-MQTyX9OXRg?pwdzcwa 提取码&#xff1a;zcwa Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 新翔绩效考核系统基…

分享69个ASP.NET企业网站源码,总有一款适合您

分享69个ASP.NET企业网站源码&#xff0c;总有一款适合您 69个ASP.NET企业网站源码下载链接&#xff1a;https://pan.baidu.com/s/1lOmnWD83XkU29_Ix-ldVYQ?pwds9q9 提取码&#xff1a;s9q9 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 AutoWeb建站王.NET企…

Google网站管理员工具的新功能

近日&#xff0c;Google网站管理员工具(原Google Sitemap)进一步扩展了其功能&#xff0c;可以更有效地帮助用户分析网站中可能存在的问题以及如何更有效地进行对网站的优化。详细信息请参见Google Webmaster Central官方Blog中的说明。其中较引人注意的便是如今在Google网站管…

linux网站搭建实例

我们知道windows网站搭建一般是&#xff1a;IISAspSqlserver&#xff0c;而linux网站搭建是&#xff1a;ApachephpMysql。两者之间个有千秋&#xff0c;但是为什么我们许多的门户网站搭建都选择linux—apachephpmysql呢&#xff1f;当然是其的安全性了&#xff0c;Apache 是世界…

一个可以动态创建响应动画GIF的网站,AjaxLoad

呵呵&#xff0c;使用Ajax做Web开发的必备品看看样式&#xff1a;呵呵&#xff0c;还有许多样式&#xff0c;如果你想要&#xff0c;可以到这个网站自己生成喔http://www.ajaxload.info/

二十行代码!实现网站的验证码自动识别

一. 自己去chaojiying官网注册一个账号,购买相关的产品. 爬虫时候,自动识别需要登录的验证码,并实现自动登录,第一步使用超级鹰识别出网站的验证码 #!/usr/bin/env python # coding:utf-8import requests from hashlib import md5class Chaojiying_Client(object):def __init__…

SEO第二课:索引

上周我们学习了搜索引擎工作原理中信息收集的部分——蜘蛛和收录&#xff0c;了解到搜索引擎蜘蛛对网页的抓取方式以及网站目录结构、链接结构将决定蜘蛛采用深度优先或广度优先进行爬取。那么搜索引擎是如何存储蜘蛛爬取到的网页和链接信息&#xff1f;如何根据用户给定的关键…

EntLib.com 网站征集中文名称,希望各位热心的朋友踊跃发言

EntLib.com 网站征集中文名称&#xff0c;希望各位热心的朋友踊跃发言EntLib.com Team 专注于开源.Net 系统&#xff0c;如开源ASP.NET论坛、开源ASP.NET博客、开源ASP.NET电子商务平台&#xff08;前台购物系统和后台业务处理系统&#xff09;&#xff0c;以及分享、交流Micro…

启明星Portal企业内部网站V4.3版 附演示地址 http://demo.dotnetcms.org

下载地址&#xff1a;http://www.dotnetcms.org/download/portal/PortalV4.3.0.0.rar 启明星Portal系统是一款基于微软ASP.NET平台开发的&#xff0c;集成内容发布、文章、产品、图片、招聘、留言、自定义模型、采集等功能于一体的企业网站管理系统。启明星Portal是构建企业内网…

推荐两个网页设计在线配色网站

对于网页设计师而言&#xff0c;每个网站的设计都需要一套最适合它的配色方案&#xff0c;配色方案的选择关系到整个网站的成功与失败。下面我向大家推荐两个国外在线配色方案网站&#xff0c;也许会给你的设计工作带来很大的帮助。ColorbeColorbe是我在很久之前在网上面的一个…

SEO三原素,看图你懂的!

SEO三原素&#xff08;图示&#xff09; 结构、内容、链接都是SEO的必要因素&#xff0c;通过不同权重的匹配&#xff0c;衍生出其他优化要素。 图中&#xff0c;将SEO整个关系链清晰地展示给我们&#xff0c;并用线条画出了其在网站结构、内容、链接要素中所处的位置。把与SEO…

10个优秀的网站分析工具

2019独角兽企业重金招聘Python工程师标准>>> 1) Piwik Piwik是一套基于PhpMySQL技术构建的开源网站访问统计系统&#xff0c;前身是 phpMyVisites。Piwik可以给你详细的统计信息&#xff0c;比如网页 浏览人数, 访问最多的页面, 搜索引擎关键词等等&#xff0c;并且…