- 博客(30)
- 资源 (1)
- 收藏
- 关注
原创 SQL养成手册
找出 总价大于100的人,但是只买了手机的人不统计。1) 思路一:总价大于100的人和不只买了手机的人关联select t1.namefrom ( select name from order group by name having sum(price)>100) t1join ( select name from order group by name having sum(if(product='手机',0,1))!=0) t2on t1.name=t2...
2020-11-26 18:51:20
270
原创 十一、Java集和(六)——Map接口
Map接口1. Map架构|-----Map:存储一对一对的数据(key-value):高中的函数。 y = f(x) (x1,y1),(x2,y2) |-----HashMap:主要实现类;线程不安全的,效率高;可以存储null的key和value |-----LinkedHashMap:是HashMap的子类,可以按照添加key-value的顺序实现遍历。 底层在HashMap结构的基础上,给前后添加的key-value额外添加了一对指针, 记录添加的先后顺序。
2020-06-19 15:44:14
225
原创 十一、Java集和(五)——Set接口
List接口——Collection子接口1. 主要实现类和方法1)主要实现类: HashSet2) 常用方法:Set接口中声明的方法都是Collection接口声明过的。HashSet能使用的就是Collection中定义的方法。@Testpublic void test1(){ Set set = new HashSet(); set.add(223); set.add(new String("AA")); set.add("CC"); set.add(223); set.a
2020-06-19 15:09:29
222
原创 十一、Java集和(四)——List接口
List接口——Collection子接口1. List接口1)概述存储一个一个的数据有序2)常用的方法List是Collection的子接口,Collection中声明的方法,在List的实现类中都可以使用。由于List是有序的,所有额外添加了一些方法。void add(int index, Object ele): 在index位置插入ele元素boolean addAll(int index, Collection eles): 从index位置开始将eles中的所有元素添加进来
2020-06-16 11:29:19
174
原创 十一、Java集和(三)——Iterator迭代器接口
1. Iterator迭代器接口1)定义:Iterator对象称为迭代器(设计模式的一种),主要用于遍历 Collection 集合中的元素。2) 使用:Collection c1 = new ArrayList();c1.add(123);//自动装箱c1.add(new Person("Tom",12));c1.add(new String("AA"));c1.add(new Date(234234324L));c1.add("BB");获取迭代器Iterator itera
2020-06-16 10:35:49
124
原创 十一、Java集和(二)——Collection接口
Collection接口1. 概述:用于存储一个一个的数据的容器,是一个Java接口,无法直接创建实例public interface Collection<E> extends Iterable<E>2. 常用方法1)创建实例Collection c1 = new ArrayList();2) add(Object obj): 添加元素obj到当前集合中c1.add(123);//自动装箱 c1.add("AA"); c1.add(new Date(
2020-06-15 23:21:30
165
原创 十一、Java集和(一)——集合概述
在java内存层面,对多个对象进行统一管理和操作的容器有数组和集和。数组的特点和弊端1) 数组存储数据的特点数组一旦初始化,长度就是确定的数组有索引,可以方便的对指定位置上的元素进行查找、替换数组存储的数据:有序、有用连续内存空间。数组在定义时,就明确了存储数据的类型,有默认初始化值。2) 数组存储数据的弊端数组一旦初始化以后,其长度就不可以改变—>如果需要扩容,必须新建数组。数组在插入、删除操作时,效率很差。可以表达的多个对象的关系较为简单,不能描述更为丰富的对象关系。数组中
2020-06-15 22:58:15
138
原创 七、异常处理
七、异常处理1. 异常概述与异常体系结构1) 什么是异常2) 异常分类3) Exception的分类2. 常见异常3. 异常处理机制之try-catch4. 异常处理机制之throws5. 手动抛出异常:throw6. 用户自定义异常新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的
2020-06-13 22:15:04
386
原创 阿里云centos7服务器使用记录
阿里云centos7服务器使用记录以下都是我在使用阿里云服务器过程中参考过的文章阿里云服务器使用记录CentOS服务器安装python3.7.0本地预装python2.7参考:https://www.cnblogs.com/anxminise/p/9650206.html重命名文件参考:https://www.cnblogs.com/xcb0730/p/6957481.htm...
2019-09-17 20:33:40
198
原创 Python爬虫之url去重方案
url去重方案1.去重方案将url保存到数据库中,检查时在数据库中查找。效率太低,频繁的切换内外存。将url保存到程序内存set集合中,查询速度快,但是占用内存太大。与第二种方法类似,只是进一步改进之后,将url通过哈希编码压缩在保存在程序内存set集合中,相较于第二种方法直接保存,可以大大压缩存储空间。scrapy采用此方法。这个方法将url通过哈希算法进一步压缩空间...
2019-08-24 21:04:01
1671
原创 Scrapy——ItemLoader空值报错问题
ItemLoader空值报错问题1. 问题描述1) 目标网站:https://news.cnblogs.com/2) 问题背景:在抓取文章的tags时,有些文章有这个信息,有些文章没有这个信息。scrapy-spider在解析的时候使用itemloader机制解析填充数据。但是当遇到页面没有这个属性的文章时,解析为空,itemloader默认不填充,数据对象为None。在向数据库保存数据时...
2019-08-24 19:16:06
894
原创 Scrapy——ItemLoader
ItemLoader1. ItemLoader在spider中的使用——解析作用from scrapy.loader import ItemLoaderitem_loader = ItemLoader(item, response)item_loader.add_css()item_loader.add_xpath()item_loader.add_value()以上三个add函...
2019-08-24 19:00:38
244
原创 python os库path相关操作
python os库path相关操作参考:python之os模块_file_:当前文件路径参考文章:Python之 _name_ ,_file_ , _doc_ 变量测试:print(_file_)输出:D:/Python/PycharmProjects/ScrapyNewsBlog/ScrapyNewsBlog/test/test.pyos.path.dirname():...
2019-08-24 11:56:01
125
原创 使用Scrapy自带ImagePipeline下载图片
使用Scrapy自带ImagePipeline下载图片示例代码# 启用scrapy自带的图片下载pipelineITEM_PIPELINES = { 'scrapy.pipelines.images.ImagesPipeline': 1,}IMAGES_URLS_FIELD = "front_image_url" # 设置item中作为图片下载链接的item字段project...
2019-08-24 11:39:49
403
原创 Scrpay之Pipeline同步/异步方式保存数据库
Scrpay之Pipeline同步方式保存数据库示例代码class MysqlPipeline(object): #采用同步的机制写入mysql def __init__(self): self.conn = MySQLdb.connect('192.168.0.106', 'root', 'root', 'article_spider', charset="...
2019-08-24 11:14:12
371
原创 Scrapy之自定义Pipeline输出json文件
自定义Pipeline输出json文件代码class JsonWithEncodingPipeline(object): #自定义json文件的导出 def __init__(self): self.file = codecs.open('article.json', 'w', encoding="utf-8") def process...
2019-08-24 10:27:14
1100
原创 python时间字符串转化datatime对象
时间字符串转化datatime对象1. 测试代码def test_datatime(): time = "2019+07+30 10:22:22" test_date = "" try: test_date = datetime.datetime.strptime(time, "%Y+%m+%d %H:%M:%S").date() except ...
2019-08-24 10:08:51
1683
原创 python中正则表达式基本应用
python中正则表达式基本应用基本应用import re match_re = re.match(".*?(\d+).*", str_value)if match_re: data = match_re.group(1)在线正则表达式测试在线正则表达式测试网页re模块re.match(pattern,string, flags=0)1)简述:从第一个字符开始搜索,如果...
2019-08-24 09:58:07
776
原创 python将url进行md5哈希编码压缩
python将url进行md5哈希编码压缩应用背景1. 示例代码测试代码测试结果分析应用背景在写爬虫url去重的时候,可以直接将url保存为字符串到本地文件或数据库,去重的时候将其读入程序内存集合中,利用集合的元素唯一特性进行去重。但是直接按照字符串进行去重,程序的内存占用会很严重。所以一般会将url通过哈希算法压缩,进而保存,然后去重的时候对压缩后的编码进行对比去重。压缩后的url都是统一的...
2019-08-24 09:19:07
1948
原创 python3:request+BeautifuleSoup抓取房天下
request+BeautifuleSoup抓取房天下开始之前为什么选择这个网站目标数据爬虫文件存储的文件tool.py逻辑思路开始之前这篇代码的目标网站是房天下,涉及到的核心库包含requests、BeautifulSoup等。抓取到的文件存储在本地的csv文件中。抓去了网站全国每一个城市对应的新房、二手房、租房下的房屋信息。为什么选择这个网站网站的反爬虫机制没有那么严格。网上抓取这...
2019-03-03 16:33:20
939
1
原创 通往Android的神奇之旅——搭建Tomcat本地服务器
Tomcat服务器可以用于当大型服务器维护升级,维修等不方便使用的时候临时测试使用。下面是搭建Tomcat本地服务器的步骤:下载Tomcat安装包下载网址:http://tomcat.apache.org/在左侧download下选择Tomcat版本,需要注意的是要选择和本机java版本对应的版本,查看本机java版本方式如下:打开cmd界面,输入java -version,显示如下...
2018-10-08 18:07:47
466
原创 通往Android的神奇之旅之监听短信Broadcast广播方式
今天学习了通过Broadcast广播监听短信内容,与上一篇广播监听拨打电话类似,只是这一次修改了广播的类型为SMS_RECEIVED,SMS是short message service的简称。 <action android:name="android.provider.Telephony.SMS_RECEIVED"/>然后修改自定义的广播内容onReceive()。p...
2018-09-11 16:44:18
532
原创 通往Android的神奇之旅之广播接收器监听拨打电话
监听拨打电话,通过广播接收器Android应用从系统这边监听用户是否在拨打电话,不需要再activity中调用,当系统发出与自定义广播接收器匹配的广播后,会进入到广播接收器的相应操作中。具体的响应在BroadcastReceiver里面的里面的onReceive方法中实现。 首先创建自定义广播接收器,让他继承自系统广播接收器BroadReceiverpackage com.example.j...
2018-09-11 08:19:40
637
原创 通往Android的神奇之旅之电话录音
在service之监听段话状态的那篇代码基础上修改,在service监听中添加具体代码就可以了。 电话空闲时,录音器关闭清零// 电话空闲 case TelephonyManager.CALL_STATE_IDLE: Log.i(TAG,"电话空闲");// ...
2018-09-10 16:01:49
178
原创 Android TextView跑马灯
android:focusable = “true” 获取焦点 android:marqueeRepeatLimit = “marquee_forever” 使省略 android:ellipsize = “marquee” 使其产生跑马灯效果 android:scrollHorizontally = “true” 表示一个Textview满了后是自动横着移动不是默认的换行。 an...
2018-09-05 18:10:26
160
原创 Android变成setContentView()报错空指针异常
今天写一个例子,无缘无故报错空指针异常,定位错误竟然定位到了系统自动添加的setContentView()中,从网上查到是因为我在布局文件中用到的一个控件View写用成了view,大写之后一切正常 E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.jack.mycalculate, PI...
2018-09-04 20:38:38
1963
原创 数码进制及其转换
最近在课内学习单片机技术,涉及到二进制,十进制,十六进制的互相转换,需要熟练掌握,在以后的单片机学习中会经常使用到。 十进制:逢十进一,每一位可以表示的范围是0~9 二进制:逢二进一,每一位可以表示的范围是0~1,以8位为例:00000000-11111111表示十进制的0-255,4位二进制数0000-1111表示十进制的0-15 十六进制:逢十六进一,每一位可以表示的范围是0~15,所以...
2018-09-04 17:26:22
1120
转载 对android layout_wight属性和weight_sum属性的深入理解
这里我只是早晨查资料时找到了一篇很不错的对这两个属性讲述的文章,博主讲的很不错,就不作多余描述了,直接引用 博主文章链接https://www.cnblogs.com/net168/p/4227144.html...
2018-09-04 08:25:28
239
翻译 eclipse maven新建maven报错project read error
今天在新建一个maven项目时pom.xml文件出现project read error报错,从网上搜索得到解决方案如下: 原文百度经验连接https://jingyan.baidu.com/article/b2c186c82e5b56c46ef6ff0f.html操作步骤: 1,打开电脑cmd操作界面,在cmd界面找到打开出错项目的文件夹,比如我的项目文件夹在D:\Java\eclips...
2018-08-24 11:03:07
9331
4
翻译 java连接数据库8.0.12是出现时区错误
连接mysql8.0.12是报“The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configurati...
2018-08-23 17:53:52
769
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人