- 博客(21)
- 资源 (1)
- 问答 (2)
- 收藏
- 关注
原创 python之requests+json爬取一个用户10篇文章相关信息以及每篇文章前六页评论信息
由于本人初学爬虫没几天,所以有一些可以改进的地方希望可以得到改正!这篇爬虫需要用到的模块不是很多 requests(重要) json(重要) pprint 对于我个人来说,模块用的越少,那么对于理解数据挖掘的信息难度就越大,越需要自己的总结归纳。刚开始首先明确目标:通过url找到某个你想要爬取的用户首页(我爬取的微博是手机版(m.weibo.cn)的页面数据比...
2020-02-04 10:49:24
847
2
原创 python之基于selenium模块自动化爬取豆瓣31个种类前若干部(最多前八十部)电影信息保存在excel中
前言由于我是python爬虫的初学者,所以我从selenium自动化模块开始学起,一些selenium模块安装和游览器驱动安装环境搭配的事情我就不说了。我是基于Chrome游览器的自动化处理,一些安装教程请网上自己搜索!首先我先将一下我的大致思路: 使用游览器登陆豆瓣电影排行榜的网址https://movie.douban.com/chart 打开后台观察我需要爬取的31个...
2020-02-02 15:31:15
788
原创 CyclicBarrier的用法及实例
CyclicBarrier根据官方文档的说明:一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待;用人的话来说就是:一组线程在并发的执行过程中,设置一个公共点,只有当每个线程都达到这个公共点的时候,所有的线程才会抢占cpu资源继续运行,否则到达公共点的线程都必须得等待;构...
2019-09-09 21:28:56
502
原创 多线程经典例题之生产者消费者模式
如果你曾学习过多线程那么你对生产者消费者模式想必是非常的熟悉,大致意思是一个仓库有一个商品,有多个生产者和多个消费者,从生产者中间随机取出一位生产者去生产该产品,当产品生产到一定的数量的时候,此时所有的生产者都停止生产该产品,接下来轮到消费者开始消费,从众多消费者之间随机抽取一位消费者去消费该产品,当产品消费完成之后,所有的消费者都会停止消费该产品,接下来轮到生产者.......个人思路:...
2019-09-02 09:12:00
413
原创 java多线程之多线程安全问题分析和解决方案
经过几天多线程的研究发现java多线程有一些安全问题:举个例子:public class Main{ private int a=0; public int getA(){ a++; return a; } public static void main(String[] args) { final Main m=new Main(); new Thread(new ...
2019-08-02 18:27:13
626
原创 最小可用id(个人分析)
题目:在非负数组(乱序)中找到最小的可分配的id(从1开始编号),数据量10000000。题目解读:在一个不重复的乱序的自然数组中找到最小的缺失的那个数,比如1,2,3,6,4,5,8,11。那么最小可用id就为7。个人总结有三个方法来进行解答,但是算法性能不一样:第一种,暴力解决,设置一个变量,依次遍历数组中每个元素,如果哪个元素没有直接returnpublic static ...
2019-07-26 18:36:21
573
1
原创 递归初步认识例题
肥婆纳妾数列:0,1,1,2,3,5,8,13,21,34,55,89,144……依次类推下去,你会发现,它后一个数等于前面两个数的和。在这个数列中的数字,就被称为斐波那契数。递归思想:一个数等于前两个数的和。(这并不是废话,这是执行思路)具体代码:public static int f(int n){//递归 if(n==1){ return 0; }else if(...
2019-07-23 11:18:39
516
原创 递归经典例题之汉诺塔问题
汉诺塔问题:有三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,要把所有盘子一个一个移动到柱子B上,并且每次移动同一根柱子上都不能出现大盘子在小盘子上方,请问怎么移动。假设只有三个盘子编号为1,2,3具体做法就是:1盘子从a->b2盘子从a->c1盘从b->c3盘从a->b1盘从c->a2盘从c-&g...
2019-07-23 11:04:45
2102
原创 位运算的基本运算详解
在处理整形数值时,可以直接对组成整形数值的各个位进行操作。&(与) |(或) ^(异或) ~(非) >>和<<运算符将二进制位进行右移和左移操作 >>>运算符将用0填充高位;>>运算符用符号位填充高位,没有<<<运算符 对于int型,1<<35和1<<3是相同的(取模32),而左...
2019-07-20 17:39:34
2149
1
原创 进制转换(java)
十进制转二进制:int a=11;Integer.toBinaryString(a);十进制转十六进制:Integer.toHexString(a)十进制转八进制:Integer.toOctalString(a)十进制转n进制:Integer.toString(a, 3)//a转成三进制n进制转成十进制:Integer.parseInt("102"...
2019-07-18 21:11:23
155
原创 输入,输出流(中)
文件字符输入,输出流与FileInputStream字节流对应着的FileReader字符流与FIieInputStream字节流对应着的FileWriter字符流字符流常用的构造方法分别是:FileReader(String filename) FileWriter(String filename) FileWriter(String filename,boolean app...
2019-07-17 22:53:17
155
原创 输入,输出流(上)
File类:对象本身主要获取一些文件本身的信息,例如文件的目录,文件的长度,文件读取的权限,不涉及对文件的读写操作。三个构造方法:File(String filename);File(String directoryPath,String filename);File(File dir,String filename);filename 文件名字 , directoeyPath...
2019-07-16 21:27:25
137
原创 个人对于八大排序总结(下)
8.堆排序在介绍堆排序之前先介绍一下什么叫做堆?学过数据结构的同学应该知道什么叫做树!堆就是一颗特殊的树,总是一颗完全二叉树!堆中某个节点的值总是不大于或不小于其父节点的值;小顶堆:根结点最小的堆。大顶堆:根结点最大的堆。堆的操作:最大堆调整:将堆的末端子节点作调整,使得子节点永远小于父节点创建大顶堆:将堆中的所有数据重新排序上述介绍了一下堆的基础知识,接下...
2019-07-14 00:23:39
169
原创 个人对于八大排序总结(中3)
7.计数排序特点:计数排序是非比较排序算法,就是该算法不需要进行比较,所以时间复杂度为O(n+k),该算法速度非常快,是典型的使用空间换取时间的排序算法。基本过程:就是把一串数字全部变成另外一个数组的下标,由于下标是有序顺序,再把数字通过下标的形式还原出来,那就是一串有序的序列。实现具体步骤,把数字变成下标很简单,但是怎么记录这个下标所指的数字是该序列中的数字呢?所以我们需要一个可...
2019-07-13 22:07:07
139
原创 个人对于八大排序总结(中2)
6.归并排序:基本思想:经典的分治思想。分治法:个人理解的分治思想就是,想要解决一个大的问题,就需要把一个大的问题分解成若干个小的子问题,把每个小的子问题逐个击破,最终就把一个大的问题给解决掉了。介绍了一下什么是分治,那么问题来了,这个问题和归并排序有什么关联呢?归并排序思想:假设把一组数分成俩个部分,每个部分其实都是有序的(从小到大,或者从大到小),然后把每组数的头一个数字相互比...
2019-07-12 22:28:46
156
原创 个人对于八大排序总结(中1)
5.快速排序基本思想:一趟把数据分成俩个部分,第一个部分所有的数据都比第二个部分所有的数据小,每一趟都按照之前的那种思想,把前一个部分也化成俩部分,后面一部分也化成俩部分,依次递归下去...个人理解的快速排序有俩种算法目录1.单向指针扫描法;2.双向指针扫描法;单向指针扫描法:思想:意思是只有一个指针是主动扫描,这个指针所指向的数据和某个数据进行比较,如果大于某个固定数...
2019-07-12 01:04:24
234
原创 个人对于八大排序的总结(上)
刚开始学编程最让我感兴趣的就是算法,各种各样的算法,而刚开始接触算法的时候,接触到的就是排序算法,各种各样的排序算法,今天我就想基于小编个人的理解,写一写排序算法的思路目录1.冒泡排序2.选择排序3.插入排序在介绍排序之前先引入一个按照数组下标进行交换的算法void swap(int a[max],int i,int j){ int temp; temp=a[i...
2019-07-11 17:40:18
317
原创 fgets和fscanf区别
fgets是获取文件一行包括换行符(遇到结束符停止) while(!feof(fp)){ fgets(arr,sizeof(arr),fp); show(arr); }fscanf是获取文件一行不包括换行符(遇到结束符停止) while(!feof(fp)){ fscanf(fp,"%s",arr); show(arr); }具体测试代码#includ...
2019-07-11 07:58:01
1570
原创 c语言 字符输入问题
在C语中,出问题最大的就是字符和字符串,今天就字符输入问题来做个个人总结!我们在字符输入的时候经常会遇到连续多次输入字符时候一般采用#include<stdio.h>#include<stdlib.h>#include<string.h>#define max 5int main(){ int i; char ch; for(i=0;i&...
2019-07-11 03:07:31
519
原创 C语言 关于函数和数组问题(个人理解)
【创建数组的常用方式】1.直接变量类型+变量名+所含大小int a[max];2.利用指针进行变量空间的堆分配int *a=(int *)malloc(sizeof(int)*max);【一个问题】int *creatone(){ int i; int a[max]; for(i=0;i<max;i++){ a[i]=i+1; } return a...
2019-07-11 01:56:16
839
原创 c语言 课设1 《考试宝典》
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<time.h>#define max 100#define len 5#define lens 20typedef struct Que{ int id; char que[max]; c...
2019-07-10 20:34:58
250
TA创建的收藏夹 TA关注的收藏夹
TA关注的人