人人爬虫

Python爬虫:人人影视追剧脚本 抓包分析 搜索页面 影视资源页面 5.22更新完善 获取百度云,电驴等连接 代码实现 所需第三方库 搜索页面 5.22更新解析搜索页链接 获取下载页跳转链接 获取下载链接 5.22更新,增加json文件格式美化转变,显示中文 结果 最近追剧时发现找资源挺繁琐的,网页切换来切换去耗时也多,所以就想写个脚本代替。于是今下午花了点时间,... 阅读详情

一个简单的人人爬虫,实现了一键下载好友相册和日志的功能。

一次尝试使用java的正则匹配,这个真的十分强大,如果不是用了这个代码至少还要多好几百行。但是还是初学,技术方面还有点欠缺,在相片名匹配时有可能会多保存些不需要的信息。

登陆界面截图:


别被上面的水印骗了,仅仅是盗用QQ的gif~~~


类定义

相册类

public class Album {
	private String albumName;// 相册名
	private String albumCover;// 相册封面地址
	private String url;// 相册地址
	private String num;// 相册内相片数量
	private boolean lock;// 是否加密
	public Album(String albumCover, String num, String url, boolean lock,
			String albumName) {
		this.albumCover = albumCover;
		this.num = num;
		this.url = url;
		this.lock = lock;
		this.albumName = albumName;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((albumName == null) ? 0 : albumName.hashCode());
		result = prime * result + ((url == null) ? 0 : url.hashCode());
		return result;
	}
	public String getAlbumName() {
		return albumName;
	}
	public String getAlbumCover() {
		return albumCover;
	}
	public String getUrl() {
		return url;
	}
	public String getNum() {
		return num;
	}
	public boolean isLock() {
		return lock;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Album other = (Album) obj;
		if (albumName == null) {
			if (other.albumName != null)
				return false;
		} else if (!albumName.equals(other.albumName))
			return false;
		if (url == null) {
			if (other.url != null)
				return false;
		} else if (!url.equals(other.url))
			return false;
		return true;
	}
}
相片类

public class AlbumDetail {
	private String name;//相片名
	private String shortUrl;//相片缩略图url
	private String largeUrl;//相片完整图url
	private String ord;//相片保存时可能的后续编号
	public AlbumDetail(String name,String shortUrl,String largeUrl,String ord){
		this.name=name;
		this.shortUrl=shortUrl;
		this.largeUrl=largeUrl;
		this.ord=ord;
	}
	public String getOrd() {
		return ord;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((largeUrl == null) ? 0 : largeUrl.hashCode());
		result = prime * result + ((name == null) ? 0 : name.hashCode());
		result = prime * result
				+ ((shortUrl == null) ? 0 : shortUrl.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		AlbumDetail other = (AlbumDetail) obj;
		if (largeUrl == null) {
			if (other.largeUrl != null)
				return false;
		} else if (!largeUrl.equals(other.largeUrl))
			return false;
		if (name == null) {
			if (other.name != null)
				return false;
		} else if (!name.equals(other.name))
			return false;
		if (shortUrl == null) {
			if (other.shortUrl != null)
				return false;
		} else if (!shortUrl.equals(other.shortUrl))
			return false;
		return true;
	}
	public String getName() {
		return name;
	}
	public String getShortUrl() {
		return shortUrl;
	}
	public String getLargeUrl() {
		return largeUrl;
	}
}

日志类

public class Blog {
	private String blogName;
	private String url;
	private String body;
	public Blog(String blogName,String url,String body){
		this.blogName=blogName;
		this.url=url;
		this.body=body;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((blogName == null) ? 0 : blogName.hashCode());
		result = prime * result + ((body == null) ? 0 : body.hashCode());
		result = prime * result + ((url == null) ? 0 : url.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Blog other = (Blog) obj;
		if (blogName == null) {
			if (other.blogName != null)
				return false;
		} else if (!blogName.equals(other.blogName))
			return false;
		if (body == null) {
			if (other.body != null)
				return false;
		} else if (!body.equals(other.body))
			return false;
		if (url == null) {
			if (other.url != null)
				return false;
		} else if (!url.equals(other.url))
			return false;
		return true;
	}
	public String getBlogName() {
		return blogName;
	}
	public String getUrl() {
		return url;
	}
	public String getBody() {
		return body;
	}
}

好友类

public class Friend {
	private String name;
	private String id;
	private String image;
	public Friend(String name,String id,String image){
		this.name=name;
		this.id=id;
		this.image=image;
	}
	public String getName() {
		return name;
	}
	public String getId() {
		return id;
	}
	public String getImage() {
		return image;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Friend other = (Friend) obj;
		if (id == null) {
			if (other.id != null)
				return false;
		} else if (!id.equals(other.id))
			return false;
		return true;
	}
}


源码下载地址:https://github.com/TedQ/RenRenDownload

可运行JAR下载:http://download.youkuaiyun.com/detail/acm_ted/4967031

来源:http://blog.youkuaiyun.com/acm_ted/article/details/8480741

Python实现人人网爬虫,爬取用户所有状态信息。 之前没有怎么用过python,也没写过爬虫,最近几天抽空学习了一下,写了个人人网的爬虫练了练手。     用了BeautifulSoup4包来解析HTML标签,Beautiful Soup 是用 Python 写的一个 HTML/XML 的解析器,它可以很好的处理不规范标记并生成剖析树。通常用来分析爬虫抓取的web文档。对于不规则的 Html文档,也有很多的补全功能,节省了开发者的时间和精力。使 阅读详情

相关推荐

一个简单的不用cookie的人人网状态爬取的python爬虫,使用beautifulsoup

昨天晚上闲着无聊翻翻人人,想来过去几年一直用的人人,里面好多喜怒哀乐。正好最近在写爬虫,干脆把它都弄下来留着吧。于是开工。 爬取的是我自己的全部已经发过的状态。 先是,向所有人一样,百度了一下,有没有现成的解决方案,确实有不少,说要先登录,然后再保留cookie,然后再用什么正则表达式,好是麻烦。 然后登录人人,分析它的网页结构,还是挺麻烦的,状态的界面都是用ajax

sscssz的博客 2400

人人网爬虫

随着数据量的增大, 千万级数据量, G 级数据规模. 设计不合理的表结构与 SQL 语句, 性能十分低下. 对原始数据过滤后,实行分库存储的策略, 类似 MapReduce. shadding 之类的数据库技能太弱. 自己写代码分库. 转载于:https://www.cnblogs.com/misspy/p/4047122.html...

weixin_34023863的博客 523

python爬虫 模拟登录人人网过程解析

这篇文章主要介绍了python爬虫 模拟登录人人网过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 equests 提供了一个叫做session类,来实现客户端和服务端的会话保持 使用方法 1.实例化一个session对象 2.让session发送get或者post请求 session = requests.session() sessio...

python爬虫教程 2790

2018-8-14 人人网

from day02.tuozhan_all import get # 0. url # 1. 构造headers # 2. 调用get函数 # 3. 保存页面 url = 'http://www.renren.com/966927992' headers = { #'Accept': 'text/html,application/xhtml+xml,application/xml;q...

jingwenliu的博客 295

Python爬虫教程:模拟登录人人网并抓取社交数据

爬虫是通过模拟用户访问网页的方式自动获取网络数据的程序。请求模块:发送HTTP请求并获取响应。解析模块:解析HTML响应内容,提取有用信息。存储模块:将抓取的数据存储到文件或数据库中。通过本文的教程,我们展示了如何使用Python爬虫模拟登录人人网并抓取社交数据。我们讲解了如何通过requests和Selenium等工具进行数据抓取,并解决了验证码和动态加载等反爬虫问题。通过这些技术,你可以进行更加深入的社交数据分析,挖掘用户行为模式、社交趋势等。

2201_76125261的博客 326

人人爬虫 ( 一键下载好友相册日志 )

可以一键下载人人好友的相册和日志,可视化界面。

人人都会用的网络爬虫

通过这篇文章,你可以了解到网络爬虫的基本知识,三种爬虫方法以及如何处理网站反爬策略。

程序员鱼乐 547

FREERTOS+LWIP+IAP实现TCP、HTTP、网页访问并固件升级、更新配置 (三)lwip实现httpd服务并在web访问

在前两篇文章中配置freeRTOS和,并实现了TCP、UDP的通信协议,现在终于轮到重头戏lwip的httpd服务,LWIP官方例程中是有很多自带的网页的,但是远远不够满足实际项目的使用需求,因此我也是踩了很多坑,从前端网页制作,到网络通信的实现,到后端数据处理,从头开始学起,也是学习到了很多没接触过的东西,本章将搭建LWIP的HTTP服务使得浏览器可以访问WEB。

wangjiaheng0716的博客 2965

人人都能爬虫!推荐一款支持多语言的分布式网络爬虫管理平台

Crawlab是一款功能强大的网络爬虫管理平台(WCMP),支持多种编程语言(包括 Python、Go、Node.js、Java、C#)和爬虫框架(如 Scrapy、Colly、Selenium、Puppeteer)开发的爬虫任务。此外,Crawlab还提供了完善的爬虫任务调度、执行和监控功能,十分适用于那些对可溯性、可扩展性和稳定性有严格要求的生产环境,帮助使用者更全面管理爬虫任务的全生命周期。1000+优质开源项目更新进度:162/1000。如需更多类型优质项目推荐,请在文章后留言。

1922

IEDA激活码失效?教你5分钟快速续期的方法

本文针对IEDA激活码失效问题,提供了一套从快速应急到深度排查的完整解决方案。文章不仅详解了5分钟快速续期与清理缓存等应急方法,更深入剖析了授权机制、离线激活流程,并指导如何构建可持续的授权管理策略,帮助开发者彻底解决激活困扰,确保开发环境稳定。

a0b1c2d3的专栏 274

【GPFS专题5】---IBM Spectrum Scale (GPFS) 日常运维命令大全

掌握这些命令是有效管理 GPFS 集群的基础。实际生产环境中,建议结合自动化脚本和监控系统(如 IBM Storage Insights)实现高效运维。定期备份配置、监控性能指标,并进行灾备演练,是保障数据安全和系统稳定的关键。

jundao1997的专栏 841

python人人贷爬虫_爬取人人贷网上部分借贷信息以及数据可视化

一.主题式网络爬虫设计方案:爬取人人贷网上部分借贷信息1.主题式网络爬虫名称:爬取人人贷网上部分信息2.主题式网络爬虫的内容与数据特征分析:爬取人人贷部分信息数据,借贷信息3.主题式网络爬虫设计方案概述(包括实现思路与技术难点):找到该网站的网址,然后F12分析该网址的源代码,找到自己所需要的数据所在的位置,提取相关的数据分析,进行数据上的处理和数据可视化的操作.二.二、主题页面的结构特征分析主题...

weixin_39926639的博客 1273

一文吃透!C#上位机CAN总线通信开发:从协议解析到数据可视化

CAN底层协议仅定义了8字节数据的传输规则,实际业务需自定义应用层协议,实现多类型数据的有序传输,这是数据解析的核心。仲裁ID(16进制)数据长度(DLC)数据场格式业务含义解析规则0x0014字节0~3:温度数据温度采集(单位:℃)4字节→float类型(大端/小端需统一,如西门子PLC格式)0x0022字节0~1:转速数据电机转速(单位:r/min)2字节→short类型(Int16)0x0031字节0:bit0~bit7设备状态(8路开关量)

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 846

爬虫post请案例(人人网的案例多次请求和单次请求)

直接登陆的案例 import requests def login(session): ##登录地址 url = 'http://www.renren.com/PLogin.do' headers = { 'User-Agent': 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Triden...

weixin_45164052的博客 433

【ROS机器人系统】实验4 ROS简单应用:激光SLAM与导航

ROS简单应用:激光SLAM与导航 (1)了解机器人和SLAM之间关系 (2)了解激光SLAM (3)了解gmapping和导航

南京大学软件工程硕士在读 2146

SAP FICO资产明细表开发说明书(包括测试样例、程序代码仅作参考,不保证一定可以运行)

SAP FICO资产明细表开发说明书(包括源代码,测试样例及FS)

我好像病了的博客 1470

Python网络爬虫--项目实战--scrapy爬取人人车

一、目标 爬取多页人人车的车辆信息 二、分析 2.1 网站分析 在网页源代码中可以搜索到页面中的数据,所以可以判断该页面为静态加载的 三、完整代码 renrenche.py import scrapy from car.items import RrcItem class RenrencheSpider(scrapy.Spider): name = 'renrenche' allowed_domains = ['www.renrenche.com'] start_urls =

weixin_50267049的博客 1368

区块链技术与应用 【全国职业院校技能大赛国赛题目解析】Caliper从0到使用

技能大赛样题解析,caliper题目从0到使用

weixin_52865146的博客 2077

Python爬虫 - 人人贷散标

前言 这次爬的网站 人人贷 - 散标 是一个客户要求爬的,数据一共是148w多条,不过后来发现有绝大部分是无效数据,也就是那个页面不存在,不过我看网上很多人爬这个网站都是用什么 BeautifulSoup、Selenium,首先 BeautifulSoup 提供 Cookie 应该是能爬,不过以前的页面和现在的页面有些不同,应该有点麻烦,我没试过;而 Selenium 可以直接放弃了,就一个原因...

qq_21692945的博客 811

【LDPC-7】LLR量化位宽对LDPC译码性能的影响分析——以最小和译码算法为例进行matlab仿真

最小和译码算法的步骤如下:最后译码结果如果满足或者完成所有迭代次数,则译码算法停止迭代,否则继续进行译码迭代操作。

FPGA/MATLAB学习教程/源码/项目合作开发 1471

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

PHP写的人人网好友爬虫

啦啦啦!昨晚才写了一篇,现在饿着肚皮等女友回学校吃饭,我再写一篇吧

wjbianjason的专栏 1085

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【爬虫】抓取人人车论坛的内容,并且保存Mongodb

import json, requests, re import pymongo class RRCSpider(object): def __init__(self): self.headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36...

F_aF_a的博客 816

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

人人贷散标爬虫实例

人人贷散标爬取实例 1.目标 对人人贷官网(https://www.renrendai.com/loan.html)的散标记录进行抓取,从中提取出借款人的信息,结果如下, 2.准备工作 使用的python库如下(python3): #常规爬虫库 import requests from bs4 import BeautifulSoup import re import json import cs...

None 2371

利用python爬虫自动登录人人网

刚学python爬虫,使用python爬虫自动登录人人网,在运行代码时一直报错HTTPError /syshome urllib.error可以接收有urllib.request产生的异常。urllib.error有两个方法,URLError和HTTPError. urlError是osError的一个子类,HTTPError是URLError的一个子类,服务器上HTTP的响应会返回一个状态码...

zise_xingkong的博客 1060

Python项目实战实例:AppStore数据分析与人人网爬虫

Python项目实战实例:AppStore数据分析与人人网爬虫 去发现同类优质开源项目:https://gitcode.com/ 项目概述 本资源文件包含两个Python项目实战实例,分别是AppStore数据分析项目和人人网爬虫项目。这两个项目旨在帮助开发者通过实际案例学习Python编程,掌握数据分析和网络爬虫的基本技能。 项目一:AppStore数据分析项目 项目背景与需求 本项目旨在通过P...

gitblog_06668的博客 484
上一篇: JAVA 连接 SQLServer2008
下一篇: 八数码问题
ACM_Ted
博客等级 码龄15年 122粉丝 208原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值