- 博客(39)
- 资源 (11)
- 收藏
- 关注
原创 Python 抖音无水印视频下载
引言上篇文章讲到抖音首页视频的爬取和下载,于是我想到能不能下载特定的视频。网上搜索一番,发现有网站提供抖音无水印视频的下载,但是试了几个,发现下载下来都还是有水印的视频。上篇文章已经实现了首页无水印视频的下载,于是想自己建一个网站实现一下指定视频的无水印下载。参考现有的网站,实现的思路都是输入为抖音的分享链接,输出为无水印视频,我也参照这一思路,实现了效果。在此记录一下过程中遇到的问题。思路...
2018-12-12 23:00:32
7761
5
原创 Python 网易云音乐评论爬虫
引言之前网易云音乐和农夫山泉合作,将热门评论印在农夫山泉上引爆了朋友圈。于是想爬取一下网易云的评论。网上搜了一下,对于网易云评论的爬虫不少,主要参考这篇文章:对网易云音乐参数(params,encSecKey)的分析 。在此基础上,添加了爬取云音乐飙升榜中歌曲,再去爬取这些歌曲的评论。在做项目的过程中还是遇到了一些问题,在此记录下来思路爬取云音乐飙升榜中的歌曲相关信息爬取对应歌曲的热门评...
2018-11-08 23:19:59
2323
1
原创 Python 多线程问题
引言最近在学习Python爬虫,发现Scrapy框架是解决了Python多线程问题,不用自己去理解多线程,只需遵循它的框架来写就行了。但是在我用requests爬虫的时候,就要自己编写多线程的逻辑了,还是需要去查资料好好理解一下的。个人理解1. python的多线程常用的有两种:(1) 正常的启动多个thread,每个线程跑一个任务,进程间用队列queue通信。具体实现如下:def pu...
2018-10-26 23:48:08
926
原创 Scrapy 搜狗词库爬虫
引言最近在学习Python爬虫,这里推荐一个入门爬虫的博客系列https://github.com/Ehco1996/Python-crawler博主写的对新手很友好,很适合入门。我写这篇文章的目的是记录一下在学习他的搜狗词库抓取&解析 中遇到的问题。思路和原文不同的是,我是采用Scrapy实现,并且考虑到后面对词库关键词的解析不属于爬虫,所有我就只实现了搜狗词库爬取,没有做...
2018-10-26 23:18:38
1510
2
原创 Scrapy IT之家评论爬虫
引言最近在学习Python爬虫,这里推荐一个入门爬虫的博客系列https://github.com/Ehco1996/Python-crawler博主写的对新手很友好,很适合入门。我写这篇文章的目的是记录一下在学习他的从零开始写Python爬虫 — 爬虫应用:IT之家热门段子(评论)爬取中做的改进和遇到的问题。思路和原文爬取特定分类新闻下的热评不同的是,我是爬取IT之家首页的最热排...
2018-10-14 11:04:40
828
1
原创 React Native用fetch获取Json数据的问题
前面的文章React Native利用ScrollableTabView实现Tab+ViewPager效果里面的item内容都是写死的,这篇文章将其改进一下,改成从服务端获取Json数据并在FlatList里显示出来。由于是简单的实现一下,就采用官方提供的例子里面的url(https://facebook.github.io/react-native/movies.json){ "title":
2017-08-24 23:29:05
6606
原创 React Native 注释问题
前一篇文章介绍了React Native实现Tab+ViewPager效果,这篇文章讲一下我在对上一篇文章的代码进行注释时遇到的问题。加注释出问题的代码如下://标题栏 ① <View style = {styles.container}> ②<View style = {styles.headerView}><Text style = {styles.tex
2017-08-23 23:09:10
3773
原创 React Native利用ScrollableTabView实现Tab+ViewPager效果
效果图:参考这篇文章(http://www.jianshu.com/p/b7788c3d106e)实现了简单的Tab+ViewPager效果。然后将里面的Text改为FlatList来显示更多数据。接着我想点击里面的数据跳转到另一个界面。但是没有找到FlatList 的点击回调函数,找了找资料才发现,不像Android里的控件有onClick方法,React Native里需要在要实现点击相应的控件
2017-08-15 23:26:09
2565
原创 React Native在Genymotion上运行遇到的问题
最近在学习React Native,采用中文官网的教程搭好了环境。但是教程里用的Android Studio自带的模拟器,这个速度有点慢,所以想要采用Genymotion模拟器,网上找了找资料,按照下面的方法试了试。http://www.jianshu.com/p/38cb29cdb77d 注:查看本机ip:cmd里输入ipconfig输入ip之后还是遇到了下面的问题:解决办法:检查是否连接wi
2017-08-14 23:17:53
2082
原创 Android zxingLibrary黑屏解决办法
最近项目里要用到扫描二维码,百度了一下都是利用zxing实现的,但是这个开源库内容很多,实现的功能很多。对我来说,只需要集成扫码功能,反而有点不方便。有人已经考虑到这种情况,专门用于实现快速集成二维码扫描库。地址如下:几行代码快速集成二维码扫描库遇到的问题和解决办法我按照文章中的方法,发现跳转到扫码界面就会黑屏。 解决办法是添加camera的权限<uses-permission android
2017-03-02 23:03:20
4265
原创 Android 语音助手
简介仿照Siri,利用百度语音和图灵机器人,实现打电话,聊天等功能功能给通讯录中联系人打电话给通讯录中联系人发短信打开应用网上查找资料聊天效果图注:效果图是用华为荣耀2平板录制的,不支持SIM卡,没有打电话和短信的效果。但是我是用三星S3测试的,可以正常实现打电话和发短信的功能。因为三星S3不知道为什么不能用Vysor将手机画面显示在电脑上,所以我只好用华为荣耀2平板录制了,敬请见谅。开
2017-02-11 23:40:05
7960
1
原创 Android Bluetooth 蓝牙通信(二)
前面一篇文章实现了最简单的蓝牙通信,本篇文章对其进行优化。首先由于项目需求,将蓝牙的搜索和连接做成Dialog形式,并且在搜索过程中加入弹窗。其次,将蓝牙连接和数据发送改成Service,便于整个项目里使用,不局限于某个activity里。然后,由于之前Server端的线程是在onCreat里开启的,所以Client端只有第一次能连接成功,断开之后就无法连接了,优化为加了一个Button,点击But
2017-01-09 21:35:08
1284
原创 Android Bluetooth 蓝牙通信(一)
项目里要将原来的串口通信改成蓝牙通信,开始学习蓝牙通信。最初版本的效果图:(两个GIF是分开录的,时间有点不同步,请见谅) 功能十分简单,Client端三个按钮,分别是蓝牙开关、本机可被搜索和搜索设备,点击搜索设备即可搜索周围的蓝牙,点击搜索到的蓝牙即可连接并自动发送test。 Server端更简单,在接收到消息之后便Toast出来。具体实现看代码注:Client端搜索设备时,Server端不仅
2017-01-09 17:16:33
866
原创 Android 基于百度语音的语音交互功能
项目里面用到了语音唤醒功能,前面一直在用讯飞的语音识别,本来打算也是直接用讯飞的语音唤醒,但是讯飞的语音唤醒要收费,试用版只有35天有效期。只好改用百度语音,百度语音所有功能免费,功能也比较简单实用,包括语音识别,语音合成和语音唤醒,正好可以组成一套完整的语音交互功能。效果图:首先是语音唤醒功能,说出关键词即可叫语音识别,唤醒成功会有语音提示,这里采用了百度语音的合成功能。然后百度语音识别会根据wi
2016-11-14 23:09:00
10002
1
原创 Android studio2.2 execution failed: SymbolForDebug解决办法
最近android studio升级到了2.2版本,但是发现原来的项目编译不通过了,错误信息如下Error:Execution failed for task ':app:transformNative_libsWithStripDebugSymbolForDebug'. java.lang.NullPointerException (no error message)百度了许多方法,发现都不管用。
2016-11-02 22:41:49
1499
原创 C++ const char* 常量字符串拼接问题
项目里要用到循环输出多个文件,每次输出的文件名要不同,否则新生成的就会把原来的替换掉了。那么这就需要文件名里加一个数字来区分,要用到字符串的拼接。结果需要const char*类型,原本打算直接用const char*类型相加得到结果,但是发现不行。转而采取另一种思路,利用熟悉的string类型拼接,最后转为const char*类型。#include<string>#include<iostre
2016-10-31 22:02:26
19551
1
原创 Matlab 小程序 yuv图片融合
要求: 将320*200的android.bmp图片中的rgb数据转换为4:2:0格式的yuv数据,再与另一个720x576,4:2:0格式图片horseriding.yuv数据进行融合(yuv数据存储是:720x576个字节的Y数据,然后是360x288个字节的U数据,最后是360x288个字节的V数据),得到最后的YUV数据,最后将这个YUV数据用程序显示出来。最后显示结果应该是一幅大
2016-10-15 22:12:04
2616
原创 Android 科大讯飞 在线和离线语音听写
效果图:参考资料http://blog.youkuaiyun.com/imhxl/article/details/50854146项目里要用语音听写,想到了科大讯飞,参考上面的资料完成了最简单的在线有UI的语音识别,后面想要改成离线也可以使用。参考下面的文章http://blog.youkuaiyun.com/q4878802/article/details/47834601下载好语记和离线资源之后,想要改成有UI的Rec
2016-09-20 23:28:55
8747
5
原创 Android socket聊天室
效果图:利用socket实现了简单的聊天室功能。首先要用java先写一个ServerSocket服务器public class SocketTest { public static void main(String[] args) { try { //端口号从1-65535中任选一个,一般选择较大的 ServerSocket se
2016-09-19 23:19:18
1024
1
原创 Android app开启界面
先看效果图:这个效果其实就是先打开一个activity,布局里只有一个imageview,用来显示图片,同时去掉标题栏,然后在onCreate()里开启一个线程,首先让线程休眠数秒(开启界面的时间),然后sendMessage(),handler接受到之后startActivity(),启动接下来的活动。MainActivty.javapackage com.example.administrato
2016-09-15 22:27:05
958
原创 Android 串口通信
前段时间项目里用到了android的串口通信,网上查找资料,找到了下面一篇文章http://lpcjrflsa.iteye.com/blog/2097280我参考这篇文章实现了串口通信,在这里记录一下,省得以后再看的时候找不到。还有几点说明一下1、原文使用eclipse,将android-serialport-api源码里的两个文件复制进工程里。我是用android studio,将源码直接导入到a
2016-09-14 14:28:25
2727
原创 Android Volley框架的简单get和post demo
最近学习了网络通信方面的知识,了解到Volley网络框架,相比于Httpclient要简单很多。https://github.com/mcxiaoke/android-volleyGradlecompile 'com.mcxiaoke.volley:library:1.0.19'MainActivity:package com.example.administrator.myapplication;
2016-07-19 15:00:56
678
原创 Android 导入项目时遇到的JNI和NDK问题
android studio在导入一些调用C/C++的android项目时,会遇到有关JNI的问题,例如导入下面这个项目https://github.com/handheldgroup/android-serialport-api会遇到这样的问题Error:(12, 0) Error: NDK integration is deprecated in the current plugin. Con
2016-07-16 16:57:54
1026
原创 Android 将开源项目作为库添加进现有项目中
用android studio做项目的时候,想要实现某一功能的时候,会在github上看到类似的项目,想要直接拿来用,这样就省得自己造轮子了。 1、有的项目直接提供Gradle依赖的方式,这种最简单了,直接一行代码搞定,例如Volleycompile 'com.android.volley:volley:1.0.0'//这行代码要写在项目里的build.gradle的dependencies里面h
2016-07-15 23:08:41
1493
原创 Android 调用第三方app
最近项目要用到视频聊天,想到了直接调用skype。一般调用第三方app需要知道app的包名和MainActivity的名字,但是现在我只有skype的apk,怎么知道它的包名和MainActivity的名字呢?网上找了找资料,发现这个很好用http://blog.chinaunix.net/uid-26898698-id-3896769.html第一种方法使用aapt这里我只找到了包名,没找到Mai
2016-07-15 22:22:07
2103
原创 Android mp4parser 视频拼接
最近项目里面要用到视频拼接,参考网上的资料决定采用mp4parser进行视频拼接,github上有mp4parser的源码。mp4parser项目很大,这里只用到了视频拼接的部分。这里我封装了一个MyVideoSplicing类,使用时将context,被拼接视频的路径数组videoUris,输出视频文件的名字output三个参数传进去就可以了。MyVideoSplicing.javapackage
2016-07-04 23:18:58
5327
1
转载 Android ThumbnailUtils 视频缩略图
最近项目里用到了视频缩略图,去网上找了找资料,发现这篇博客写的很好,我就记录一下,可能以后还要用到。http://blog.youkuaiyun.com/ouyang_peng/article/details/16864975项目里用到的/** * 根据指定的图像路径和大小来获取缩略图 * 此方法有两点好处: * 1. 使用较小的内存空间,第一次获取的bitma
2016-07-04 12:25:30
653
原创 Android VideoView 全屏
使用VideoView播放视频时,总是不能进行全屏播放,即使是将VideoView的layout_width和layout_height设置为match_parent也不行,网上找了找问题的解决办法,发现是videoview源码里的onMeasure方法为了使视频保持原有的长宽比,将长和宽根据控件大小按比例缩放,这就导致有时候长度到达控件大小,而宽度没有或者宽度到达控件大小,而长度没有,会有一定的黑
2016-07-04 11:02:42
3792
原创 Android MediaRecorder视频录制
Android视频录制有两种方法,一种是使用内置的摄像头应用程序,利用Intent启动摄像头,这种比较方便,,但是功能和布局都已经固定了,适合只需简单调用摄像头功能的app。另一种就是利用mediarecorder来自定义app。前面一种比较简单,这里写了一个利用mediarecorder录制视频的demo 先上效果图MainActivity.javapackage com.example.adm
2016-07-03 23:59:07
803
原创 Android 检测手机IMEI值
最近做项目的时候需要指定特定手机才能使用app,此时必须要根据每台手机特有的IMEI值进行判断。简单说一下IMEI值,IMEI值就是每台手机唯一拥有的序列号。大部分手机上可以在手机电话拨号界面输入*#06#来查看手机的IMEI值。android提供了查询手机IMEI,下面一行代码就可得到IMEI值String IMEI = ((TelephonyManager) getSystemService(T
2016-06-17 16:27:30
3238
原创 Matlab基于Viola-Jones算法的人脸检测(2)
VJ算法的目的是检测人脸,但是其思想同样可以用于检测其他物体,只需进行训练即可。 VJ算法在Matlab里面实现的时候,已经训练好了正脸、侧脸、上半身、眼睛、嘴、鼻子,这些都是可以直接检测,不需训练,直接调用CascadeObjectDetector函数即可 % Example 1: Face detection % ----------------------------
2016-05-26 16:02:59
12826
2
原创 Matlab基于Viola-Jones算法的人脸检测(1)
本文参考了算法原文和网上的资料,是笔者自己对Viola-Jones算法的理解,可能会有些偏差,请读者见谅 Viola-Jones算法是基于人脸的haar特征值进行人脸检测的方法,整体框架分成三个部分: 1、提取目标的特征,作者提取的是haar特征 2、分类器学习的过程,训练弱分类器成为最优弱分类器,多个最优弱分类器组合形成强分类器 3、强分类器进行级联,提高检测的速度和准确率首先讲一下haa
2016-05-26 10:36:55
14425
1
原创 MFC学生选课系统
先上效果图: 主要功能: 输入学号,从数据库中查找学号,若找到相匹配的学号,则显示数据库中姓名、学历、导师,同时将所有可选课程显示出来。输入课程类型和课程名称查询课程进行选课,选课之后相应的选课门数、学分、学费、已选门数都会进行刷新。换个学号输入,选课总人数就会刷新,还有一些小功能就在代码里解释了。 我就只把按键的代码贴出来,完整工程下面有链接。 “确认输入”按键:void Cversi
2016-05-20 23:27:47
7437
3
原创 Android仿射密码破译app
前面讲了仿射密码的加密,现在来讲讲仿射密码的破译 在进行破译之前首先要了解仿射密码是如何解密的 下面是完整的仿射密码的加解密过程 由此可见,解密的关键就在于求出a的逆,采用欧几里得算法,即辗转相除法来求逆。算法如下:下面给出一个具体的例子 求25模31的逆元? ∵31=25*1+6,gcd(31,25)=gcd(25,6) 25=4*6+1,gcd(25,6)=gcd(6,1)=
2016-05-17 19:44:16
1087
原创 Android仿射密码加密app
仿射密码是根据26个英文字母转换成0到25,总共26个数字,然后根据e(x)=y=ax+b(mod26)进行加密的,其中a和b为0到25中的数字,且a和26互素,即gcd(a,26)=1,加密之后得到的y转成英文字母即可实现加密这个app由于是刚开始学android时做的,最近也没时间再进行修改,变量命名不规范等问题请读者见谅 MainActivity类:package com.example.a
2016-05-15 13:16:38
1036
原创 Android简单计算器程序
写了一个简单的计算器程序 MainActivity类:package com.example09.calculator;import java.util.ArrayList;import java.util.List;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.
2016-05-14 00:38:49
1420
原创 Matlab取棋子博弈问题
取棋子博弈问题 随机生成4堆棋子(棋子数为10以内的整数),人先选,电脑后选,选到最后一个棋子胜,每次只能从一堆中选棋子,个数不限算法:将每堆棋子的个数转为二进制a1,a2,a3,a4,进行不进位相加得到a,那么a1,a2,a3,a4中必有至少一个ai在a的最高位为1(若a为0100,则a1,a2,a3,a4中必有至少一个ai的第三位为1),那么就在ai这堆中选择bi个,剩下(a+ai)(二进制不
2016-05-11 15:12:03
3036
原创 C++从键盘输入多位数数组进行排序
写了一个可以从键盘输入多位数数组进行排序的程序,发现了几个问题,这里记录下来最开始程序是这样的#include<iostream>using namespace std; void main() { int i=0,j=0,k,temp; char achar[100]; int a[100]; fgets(achar,100
2016-04-08 18:20:30
5666
原创 C++统计输入字符串各个大写字母的个数
编程小白写点博客记录自己的成长C++写了一个统计输入字符串各个大写字母的个数(小写字母稍微修改一下就可以了)。写程序时发现三个问题,这里记录下来。1、单引号和双引号的区别。C++里单引号的表示一个字符,例如字母a,在程序中以’a’表示,双引号表示一个字符串,例如”abc” 里面是’a’,’b’,’c’,还会有一个字符串截止符’\0’。初始化字符数组时若用双引号,会报错“初始值设定项太多”,...
2016-04-05 11:23:26
27509
Android isoviewer-1.0-RC-27.jar
2016-07-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人