C# 学习之路--百度网盘爬虫设计与实现(一)
百度网盘爬虫
现在市面上出现了很多网盘搜索引擎,写这系列博文及爬虫程序的初衷:
更方面的查找资源
学习C#
学习爬虫的设计与实现
记录学习历程
自我监督
能力有限,如有不妥之处,还请各位看官点评。同在学习的网友~与君共勉。
工具/库选择
mysql5.6 (习惯使然,sqlserver比较庞大,个人使用起来不是很习惯,后期可能改为sqlserver)
HttpWebRequest、HttpWebResponse、JSON.NET库vs2015, .NET4.5
PS:介绍以上是权当做个备忘录/提示。
百度网盘搜索流程
此爬虫原理是通过爬取用户的分享/专辑保存链接来达到资源搜索的目的,而用户与用户之间通过订阅/关注来联系,慢慢形成一个庞大的爬虫网络。
首先设定爬取用户(初始化爬虫队列)。
遍历用户分享/专辑,更改队列状态。
将用户订阅/关注用户加入队列。
重复以上步骤。
PS:看似简单的流程,想要精工还需细磨。
获取百度网盘推荐用户
当没有订阅任何用户时,网盘的分享动态界面会出现一些用户噢。这是系统推荐的用户,虽然改动不一定会很大,但是可以作为爬虫的初始用户来处理(这种推荐用户听说关注的人都不少噢)
接口返回信息:
errorno: 状态码
request_id:请求ID
hotuser_list:用户列表
用户列表结构:
type:类型(通常返回-1,不明用途)
hot_uname:用户昵称
avatar_url:头像缩略图地址
intro:描述
follow_count:订阅人数
fans_count:粉丝人数
user_type:用户类型?(不明意义)
is_vip:是否为VIP
pubshare_count:分享数
hot_uk:不知道啥玩意
album_count:分享专辑数
END
暂时就写到这儿了,要去写代码了~ 写完再会
C# 学习之路--百度网盘爬虫设计与实现(一)的更多相关文章
- 百度网盘爬虫Python
": for i in range((shares["total_count"]-1)/ONESHAREPAGE): try: dbcurr.execute('INSER ...
- 《精通Python网络爬虫》|百度网盘免费下载|Python爬虫实战
<精通Python网络爬虫>|百度网盘免费下载|Python爬虫实战 提取码:7wr5 内容简介 为什么写这本书 网络爬虫其实很早就出现了,最开始网络爬虫主要应用在各种搜索引擎中.在搜索引 ...
- 利用Python爬虫实现百度网盘自动化添加资源
事情的起因是这样的,由于我想找几部经典电影欣赏欣赏,于是便向某老司机寻求资源(我备注了需要正规视频,绝对不是他想的那种资源),然后他丢给了我一个视频资源网站,说是比较有名的视频资源网站.我信以为真,便 ...
- 从零开始学Python网络爬虫PDF高清完整版免费下载|百度网盘
百度网盘:从零开始学Python网络爬虫PDF高清完整版免费下载 提取码:wy36 目录 前言第1章 Python零基础语法入门 11.1 Python与PyCharm安装 11.1.1 Python ...
- Python源码剖析|百度网盘免费下载|Python新手入门|Python新手学习资料
百度网盘免费下载:Python源码剖析|新手免费领取下载 提取码:g78z 目录 · · · · · · 第0章 Python源码剖析——编译Python0.1 Python总体架构0.2 Pyth ...
- Python网络编程基础|百度网盘免费下载|零基础入门学习资料
百度网盘免费下载:Python网络编程基础|零基础学习资料 提取码:k7a1 目录: 第1部分 底层网络 第1章 客户/服务器网络介绍 第2章 网络客户端 第3章 网络服务器 第4章 域名系统 第5章 ...
- Python编程入门(第3版)|百度网盘免费下载|零基础入门学习资料
百度网盘免费下载:Python编程入门(第3版) 提取码:rsd7 目录 · · · · · · 第1章 编程简介 11.1 Python语言 21.2 Python适合用于做什么 31.3 程序员 ...
- Python编程导论第2版|百度网盘免费下载|新手学习
点击下方即可免费下载 百度网盘免费下载:Python编程导论第2版 提取码:18g5 豆瓣评论: 介绍: 本书基于MIT 编程思维培训讲义写成,主要目标在于帮助读者掌握并熟练使用各种计算技术,具备用计 ...
- 《Python Web开发学习实录》高清PDF版|百度网盘免费下载|Python Web开发学习实录
<Python Web开发学习实录>高清PDF版|百度网盘免费下载|Python Web开发学习实录 提取码:9w3o 内容简介 Python是目前流行的动态脚本语言之一. 李勇,本书共1 ...
随机推荐
- 001_Go hello world
一.go获取程序参数及指针地址示例 package main import ( "fmt" "os" ) func main() { fmt.Println(o ...
- 作业2:分布式版本控制系统Git的安装与使用
1.下载安装配置用户名和邮箱. 2. 创建工作目录并通过git init命令把这个目录变成Git可以管理的仓库. 3. 在工作目录下准备文本文件,建议下载Notepad++代替记事本. 4. 组合用g ...
- (转)sizeof()和_countof()区别
先看程序: #include <iostream> using namespace std; int main(int argc, char* argv[]) { char *a = &q ...
- mongo 监听指定语句
class Program { private static string conn = "mongodb://47.104.206.56:27017"; //数据库名称 priv ...
- python标准日志模块logging及日志系统设计
最近写一个爬虫系统,需要用到python的日志记录模块,于是便学习了一下. python的标准库里的日志系统从Python2.3开始支持.只要import logging这个模块即可使用.如果你想开发 ...
- 复习交换代数——Noether正规化
目录 简介 初等启发 证明过程 几何意义 定理应用 参考资料 简介 在交换代数中有如下定理 Noether正规化引理 令$R$是一个有限生成$k$-代数整环,则存在$t_1,\ldots,t_n\in ...
- php密码对称encrypt加密
/** * 对用户的密码进行加密 * @param $password * @param $encrypt //传入加密串,在修改密码时做认证 * @return array/password */ ...
- 【git】git hello world
以前不怎么会用. http://blog.sina.com.cn/s/blog_1485511700102xdig.html git add 文件夹/ 添加整个文件夹及内容 gi ...
- jstl的foreach标签
jsp支持丰富的jstl标签语言(需要jar包支持),其中list循环(迭代)用的是<c:forEach></c:forEach>标签. 这个标签的作用就是迭代输出标签内部的内 ...
- LinkedHashMap基本原理和用法&使用实现简单缓存(转)
一. 基本用法LinkedHashMap是HashMap的子类,但是内部还有一个双向链表维护键值对的顺序,每个键值对既位于哈希表中,也位于双向链表中.LinkedHashMap支持两种顺序插入顺序 . ...