next

爬虫(十六):scrapy爬取知乎用户信息

二次信任 提交于 2021-01-09 22:15:35
一:爬取思路 首先我们应该找到一个账号,这个账号被关注的人和关注的人都相对比较多的,就是下图中金字塔顶端的人,然后通过爬取这个账号的信息后,再爬取他关注的人和被关注的人的账号信息,然后爬取被关注人的账号信息和被关注信息的关注列表,爬取这些用户的信息,通过这种递归的方式从而爬取整个知乎的所有的账户信息。整个过程通过下面两个图表示: 二:爬虫过程分析 这里我们找的账号地址是: https://www.zhihu.com/people/excited-vczh/answers 下图是大V的主要信息: 然后我们获取他关注的人和关注他的人的信息: 这里我们需要通过抓包分析如果获取这些列表的信息以及用户的个人信息内容 当我们查看他关注人的列表的时候我们可以看到他请求了如下图中的地址,并且我们可以看到返回去的结果是一个json数据,而这里就存着一页关乎的用户信息。 上面虽然可以获取单个用户的个人信息,但是不是特别完整,这个时候我们获取一个人的完整信息地址是当我们将鼠标放到用户名字上面的时候,可以看到发送了一个请求: 我们可以看这个地址的返回结果可以知道,这个地址请求获取的是用户的详细信息: 通过上面的分析我们知道了以下两个地址: 1关注列表:https://www.zhihu.com/api/v4/members/excited-vczh/followees?include=data%5B*

达拉草201771010105《面向对象程序设计(java)》第十周学习总结

情到浓时终转凉″ 提交于 2021-01-09 21:58:09
达拉草201771010105《面向对象程序设计(java)》第十周学习总结 实验十 泛型程序设计技术 实验时间 2018-11-1 第一部分:理论知识 泛型:也称参数化类型(parameterizedtype), 就是在定义类、接口和方法时,通过类型参数指 示将要处理的对象类型。(如ArrayList类) 泛型程序设计(Genericprogramming):编写 代码可以被很多不同类型的对象所重用。 泛型类的定义: 1.一个泛型类(genericclass)就是具有一个或多 个类型变量的类,即创建用类型作为参数的类。 如一个泛型类定义格式如下: classGenerics<K,V> 其中的K和V是类中的可变类型参数。 2. Pair类引入了一个类型变量T,用尖括号(<>) 括起来,并放在类名的后面。 3.泛型类可以有多个类型变量。例如: publicclassPair<T,U>{…} 4.类定义中的类型变量用于指定方法的返回类型以 及域、局部变量的类型。 泛型方法: 1. 泛型方法 –除了泛型类外,还可以只单独定义一个方法作 为泛型方法,用于指定方法参数或者返回值为 泛型类型,留待方法调用时确定。 2.泛型方法可以声明在泛型类中,也可以声明在 普通类中。 通配符类型; 通配符 –“?”符号表明参数的类型可以是任何一种类 型,它和参数T的含义是有区别的。T表示一种 未知类型,而“

排序链表

一世执手 提交于 2021-01-09 14:27:46
在 O ( n log n ) 时间复杂度和常数级空间复杂度下,对链表进行排序。 1. 利用递归的归并排序,自顶向下递归解决问题。 class Solution { public : ListNode * sortList(ListNode* head) { if (!head) return NULL; int length = 0 ; ListNode * p = head; if (head->next == NULL) return head; while (p){ length ++ ; p = p-> next; } int mid = length / 2 ; // 从中点分割链表 ListNode* later = cut(head, mid); // 前边部分的链表 ListNode* fore = sortList(head); // 后边部分的链表 ListNode* late = sortList(later); ListNode *result = merge(fore, late); return result; } ListNode * cut(ListNode* head, int n){ auto p = head; int index = 0 ; while (p){ index ++ ; if (index == n){ break ; } p

NEUQ2020-ACM实验班-训练002

早过忘川 提交于 2021-01-09 12:28:16
数字三角形+字母塔+字母表+Matrix+ Jumping Frog(跳蛙)+求两圆相交的面积+看电影+谷歌的招聘+汉诺塔问题+表达式求值 7-1 数字三角形 (10分) 观察下面的数字金字塔。写一个程序查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以从当前点走到左下方的点也可以到达右下方的点。 在上面的样例中,从13到8到26到15到24的路径产生了最大的和86。 输入格式: 第一个行包含R(1≤ R≤1000),表示行的数目。 后面每行为这个数字金字塔特定行包含的整数。 所有的被供应的整数是非负的且不大于100。 输出格式: 单独的一行,包含那个可能得到的最大的和。 输入样例: 5 13 11 8 12 7 26 6 14 15 8 12 7 13 24 11 输出样例: 86 题解: # include <iostream> using namespace std ; int a [ 1001 ] [ 1001 ] ; //存放数塔 int main ( ) { int n ; cin >> n ; for ( int i = 1 ; i <= n ; i ++ ) { for ( int j = 1 ; j <= i ; j ++ ) cin >> a [ i ] [ j ] ; } for ( int i = n - 1 ; i >= 1 ; i -

绝对对对对对亲民的链表入门

别说谁变了你拦得住时间么 提交于 2021-01-09 12:13:08
我与链表的初识 这篇文章绝对对对对对对亲民 2020年对于所有人来说应该是充满故事的一年。我亦如此,这十二个月,经历了全国人民众志成城抗疫的那几个月,体验了宅在家里上网课的感觉,几十年以来的高考延期也发生在我的身上,最终在烈日炎炎的七月结束了高考,与高中告别,与穿着校服的那段青葱岁月告别。9月,我拖着行李来到了NUIST,学上了我高中一直向往的计算机专业。 以上 算是我对我的2020做个短短的总结吧😊 OK,快让我们的主角链表登场吧! 在这里,必须得吐槽一下学校里的C语言老师。链表讲的都是啥玩意?一上来就增删改查,就链表元素排序?两节课结束所有内容?我听的真是一脸懵逼。 课后,我真是挣扎了好久,终于把链表弄清了点眉目。本篇文章我会将我所学会做一份总结,希望能给初学链表的朋友们一点点启发和帮助! 为什么要学链表?链表干嘛的? 这就是链表牛逼所在。之前我们储存数据都是通过数组,可数组开辟的是一段连续的空间,如果我们要储存一个特别大特别大的数据,计算机内极有可能找不到这么大的一块储存空间。这时候,链表闪亮登场。用链表储存数据,不需要开辟一段连续的空间。在储存数据时,只需要随机找到一个空余的空间并赋值,接下来再寻找下一个空余的空间并赋值。就像在一堆珠子中随机捡一个珠子,把它串在线上,最终形成了一个珍珠串,把它送给女朋友。所以,链表就是这样,把一个个不连续的地址串起来,用以储存庞大的数据。

3、【债券策略】基于利差的债券多空策略

亡梦爱人 提交于 2021-01-09 08:56:50
策略逻辑 策略原理 策略原理来自于《151 trading strategies》 中5.11 Stategy : Carry Factor carry 被定义为是债券随着收益率曲线的下移导致的债券的升值带来的收益。一个零成本的债券策略可以通过做多高carry的债券,做空低carry的债券。 策略逻辑 在每个交易日判断,10年期国债和5年期国债的收益率的差别,如果十年期国债的收益率大于五年期国债的收益率,那么,就做多10年期国债,做空5年期国债; 如果十年期国债的收益率小于五年期国债的收益率,那么,就做空10年期国债,做多5年期国债。 忽略每次交易的手续费用。 数据准备 10年期国债收益率与五年期国债收益率的数据均来自英为财经。 10年期国债价格(全价)使用10年期国债期货价格指数代替; 5年期国债价格(全价)使用5年期国债期货价格指数代替; 在backtrader上实现的逻辑 有两种不同的方式,一种是把四个数据都加载到backtrader中,通过两个收益率来判断两个国债价格的多空;另外一个就是只加载两个债券的价格数据,另外的数据保存到内存中,每次在next中进行调用。 在策略的next当中,每个bar先获取当前的十年期国债与五年期国债的收益率,然后计算两个数据的多空方向,以及交易量。 代码运行输出 Starting Portfolio Value: 2000000.00 2016

List集合学习

馋奶兔 提交于 2021-01-09 05:58:47
Java中常用的List子类主要有: ArrayList、LinkedList、Vector 。有序( 存储和取出的元素一致),可重复的。 三者比较 1:访问:ArrayList和Vector都实现了RandomAccess接口,提供了随机访问功能,查询O(1);LinkedList是链表,查询O(n); 2:增删:ArrayList和Vector底层是数组,增删容易引起大量的内存操作,效率较慢;LinkedList是链表实现,增加和删除较快; 3:线程安全性:Vector是线程安全的,大部分的方法都用了syncrhoized关键字修饰。如果是 单线程 下使用,可以用 Arrayist ,如果是 多线程 操作的list,则可以用 Vector 来保证线程安全。 4:ArrayList每次扩容增加50%,Vector扩容增加一倍。 一:ArrayList ArrayList实现了List接口,实现了一系列的add()/get()/clear()/remove()等接口中的方法。其底层其实是一个数组,通过对数组上一系列操作的封装来实现list的各种功能的。   1:ArrayList 实际上是 通过一个数组去保存数据的 。当我们构造ArrayList时;若使用默认构造函数,则ArrayList的 默认容量大小是10 。 2:当ArrayList容量不足以容纳全部元素时

Java 并发AQS

拈花ヽ惹草 提交于 2021-01-09 04:36:47
转载出处: http://www.cnblogs.com/waterystone/ 一、概述   谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)!   类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch...。   以下是本文的目录大纲: 概述 框架 源码详解 简单应用   若有不正之处,请谅解和批评指正,不胜感激。   请尊重作者劳动成果,转载请标明原文链接: http://www.cnblogs.com/waterystone/p/4920797.html   手机版可访问: https://mp.weixin.qq.com/s/eyZyzk8ZzjwzZYN4a4H5YA    二、框架   它维护了一个volatile int state(代表共享资源)和一个FIFO线程等待队列(多线程争用资源被阻塞时会进入此队列)。这里volatile是核心关键词,具体volatile的语义,在此不述。state的访问方式有三种: getState() setState() compareAndSetState()   AQS定义两种资源共享方式

Android studio 安装教程【多图预警】

本秂侑毒 提交于 2021-01-09 04:33:34
1.到官网下载安装包 安桌中文社区 2.下载后,双击安装包,开始安装! 直接点击next 3.这里注意,要把Android Virtual Device勾上,这个是开启安桌虚拟机的!,然后点击next! 4.这里,自己自定义一个位置来存放Android studio自己选择即可,然后点击next。 5.然后直接下一步,一顿安装。完了点击next。 6.然后就是这个界面,到此,Android studio的安装第一部分完成。 7.找到你安装的位置,进入bin目录下的,studio64.双击打开,首次打开,会出现这种情况。这个是因为你的电脑上没有SDK造成的。我们需要安装SDK。,点击Cancel! 8.然后出现这个界面,就是告诉你,没有找到SDK,你要不然就要下载一个,要不然就要设置一个默认路径!点击next。 9.出现这个界面。因为电脑上没有SDK,所以需要下载,选择一个位置。 10.选择好当前位置后,点击Next。 11.点击finish,下载SDK。【会比较慢】 12.出现这个界面,表示SDK安装完成!点击finish。 13.安装好Android studio 和 SDK 之后,首次打开,会出现这个界面! 到这里,Android第二部分的安装完成! 14.点击Start a new Android Studio project。然后选择一个空模板,点击next。 15

Linux下使用 github+hexo 搭建个人博客05-next主题接入评论系统

筅森魡賤 提交于 2021-01-09 04:26:22
静态站点拥有一定的局限性,因此我们需要借助于第三方服务来扩展我们站点的功能。 而评论系统是最常用于和网站用户交流的,因此本章讲解在 next 主题,如何接入评论系统。 参考网站:Next 使用文档,第三方服务集成 http://theme-next.iissnan.com/third-party-services.html 常用评论系统 考虑到国内整体互联网环境,因此评论系统除了考虑到长期可用外,还需要考虑不会被屏蔽。 因此在这里推荐三款评论系统。 来必力 虽然是韩国的「撇开政治因素」,但是UI设计和后台管理也比较不错,数据可视化用到了图标来展示,所以有付费和免费两个版本,博客只需要用免费的就行了。 当然付费的效果主要体现在数据分析上,还可以取消掉免费版未来所带来的广告。 当然由于网站在国外,因此登录该网站有些慢,这个你要理解。 登录后可评论。 畅言 随着国内其他家评论系统的停服,畅言的地位比之前更加壮大,也正因此听说广告越来越多,饱受诟病。如果想去掉广告,很简单氪金充钱就行。 还有就是该评论系统注册时需要填写备案信息,这点请大家务必知晓。 登录后可评论。 Valine 由于我们使用的是Next 5.1.3版本,本身就已经集成了valine,因此正常情况下是按照官方文档走就可以了,5分钟开启你的评论系统。 因为我们的评论系统其实是放在 LeanCloud 上的,因此首先需要去