自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 单例模式-Java

单例模式的特点:一是某个类只能有一个实例 二是它必须自行创建这个实例 三是它必须自行向整个系统提供这个实例应用情况:对于多个对象使用同一个配置信息时,就需要保证该对象的唯一性。如何保证对象的唯一性?一不允许其他程序用new创建该类对象。 二在该类创建一个本类实例 三对外提供一个方法让其他程序可以获取该对象实现的方法:一是构造方法私有化 二是类定义中含有一个该类的静态私...

2019-01-05 21:12:50 200

原创 多线程实现异步爬虫

多线程,异步爬虫,安全队列# encoding:utf-8import requestsfrom lxml import etreeimport urllibimport osimport reimport Queueimport threadingheaders = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win...

2018-12-03 22:50:09 373

原创 动态网页数据抓取(二)

9.Selenium显式等待和隐式等待现在的网页越来越多的使用Ajax技术,不确定什么时候可以获取到数据。(1)隐式等待:driver.implicitly_wait( )。实例代码如下:# --coding:utf-8-- #from selenium import webdriver# driver_path是chromedriver的存放地址driver_path =...

2018-12-03 22:50:01 357

原创 光学文字识别技术OCR: Tesseract

1.图形验证码识别技术登陆或者请求一些数据时需要图形验证码。将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition),简称OCR。实现OCR的库不是很多,特别是开源的。因为这一块存在一定的技术壁垒(需要大量的数据、算法、机器学习、深度学习知识等),并且如果做好了具有很高的商业价值。因此开源的比较少。这里介绍一个比较优秀的图像识别开源库:T...

2018-12-03 22:49:49 941

原创 二叉树-Python实现

二叉树的基本概念二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)二叉树的性质(特性)性质1: 在二叉树的第i层上至多有2^(i-1)个结点(i>0)性质2: 深度为k的二叉树至多有2^k - 1个结点(k>0)性质3: 对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,...

2018-09-04 20:08:40 184

原创 栈(Stack)和队列(Queue)-Python实现

一、栈结构实现栈可以用顺序表实现,也可以用链表实现。栈的操作Stack() 创建一个新的空栈 push(item) 添加一个新的元素item到栈顶 pop() 弹出栈顶元素 peek() 返回栈顶元素 is_empty() 判断栈是否为空 size() 返回栈的元素个数栈的实现# -*- encoding: utf-8 -*-"""栈结构实现栈可以用顺序表实现...

2018-09-01 23:37:48 627

原创 双向链表-Python实现

双向链表一种更复杂的链表是“双向链表”或“双面链表”。每个节点有两个链接:一个指向前一个节点,当此节点为第一个节点时,指向空值;而另一个指向下一个节点,当此节点为最后一个节点时,指向空值。操作is_empty() 链表是否为空 length() 链表长度 travel() 遍历链表 add(item) 链表头部添加 append(item) 链表尾部添加 insert(pos...

2018-08-30 20:58:37 235

原创 单向链表-Python实现

单向链表单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值。表元素域elem用来存放具体的数据。 链接域next用来存放下一个节点的位置(python中的标识) 变量p指向链表的头节点(首节点)的位置,从p出发能找到表中的任意节点。节点实现class Sin...

2018-08-30 18:11:35 258

原创 Python中的timeit模块

 1. Python2和Python3的区别Python2:range()函数返回的是列表List对象,xrange()函数返回的可迭代的对象 Python3:range()函数返回的是可迭代的对象2. timeit 模块:准确测量小段代码的执行时间参考博文:https://blog.csdn.net/mzpmzk/article/details/75220819timeit ...

2018-08-27 17:13:05 725

原创 Scrapy框架架构(二)

1.pipeline保存数据(用python自带的Json格式保存数据)(1)response是一个“scrapy.http.response.html.HtmlResponse”对象。可以执行“xpath”和“css”语法来提取数据。(2)提取出来的数据,是一个“Selector”或者是一个“SelectorList”对象。如果想要获取其中的字符串,那么应该执行“getall”或者“ge...

2018-07-17 23:53:49 289

原创 Scrapy框架架构(一)

1. Scrapy框架介绍Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。Scrapy 使用了 Twisted异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求。...

2018-07-17 22:47:03 449

原创 Python中IO操作

1.下面代码实现的功能:把分散的句子连接成完整的段落。# -*- coding: utf-8 -*-def make_paragraph(path, wpath): """ 成为一个完整的句子 """ with open(path, "r") as fp: with open(wpath, "a") as wp: line...

2018-07-12 15:42:17 370

原创 Python GUI编程(Tkinter)

1.Python GUI编程(Tkinter)Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下:Tkinter: Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里。Tk8.0 的后续版本可以实现本地窗...

2018-07-05 21:16:24 786

转载 Online Judge系统(简称OJ)

什么是OJOnline Judge系统(简称OJ)是一个在线的判题系统。用户可以在线提交程序源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。 一个用户提交的程序在Online Judge系统下执行时将受到比较严格的限制,包括运行时间限制,内存使用限制和安全限制等。用户程序执行的结果将被Online Judge系统捕捉并保存,然后再转交给一个裁判程序。该裁判程序...

2018-07-03 22:53:32 24622 1

原创 Windows7系统蓝屏-解决办法, 错误代码:0x0000007F

1.电脑突然蓝屏提示stop:0x0000007F,如下图所示:2.故障排除重启电脑,一直按F8,进入“安全模式”,如能正常进入系统,查看系统错误日志。针对系统记录的错误日志,解决问题。如下图,查看错误,有针对性的解决问题。如无法进入系统,那可以考虑重做系统了。查看日志后,发现是 Service Control Manage 错误。3.解决Service Control Manage 错误 (1...

2018-07-03 15:41:49 33402 1

原创 CMD常用操作

1.磁盘操作  fdisk 隐含 参数 /mbr 重建主引导记录fdisk /mbr 重建主引导记录  fdisk 在DOS7.0以后增加了/cmbr参数,可在挂接多个物理硬盘时,重建排序在后面的硬盘的主引导记录,例如:fdisk /cmbr 2,可重写第二个硬盘的主引导记录。(在使用时要十分小心,避免把好的硬盘引导记录损坏)  format 参数: /q 快速格式化 /u 不可恢复 /autot...

2018-07-02 22:00:54 223

原创 动态网页数据抓取(一)

1.什么是AJAX?AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 不是新的编程语言,而是一种使用现有标准的新方法。AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。详细参考:http://w...

2018-06-26 21:15:24 4063

原创 matplotlib.legend(*args, **kwargs)语法及设置

1. matplotlib.legend(*args, **kwargs)图例语法及基础参数设置legend语法中各参数含义如下如下: KeywordDescriptionlocLocation code string, or tuple (see below).图例所有figure位置propthe font property字体参数fontsizethe font size (used onl...

2018-06-25 15:52:22 1696

原创 GIL全局解释器锁

1. 全局解释器锁全局解释器锁(Global Interceptor Lock)GIL的基础知识,涉及基本概念,工作原理,对多线程性能影响等。Python代码的执行由Python 虚拟机(也叫解释器主循环,CPython版本)来控制,Python 在设计之初就考虑到要在解释器的主循环中,同时只有一个线程在执行,即在任意时刻,只有一个线程在解释器中运行。对Python 虚拟机的访问由全局解释器锁(G...

2018-06-21 14:57:23 255

原创 python2.7中urlretrieve( )函数的使用

python2.7中的urllib.urlretrieve( )方法1. urlretrieve()方法直接将远程数据(图片或者文档)下载到本地。具体参数为:       urlretrieve(url, filename=None, reporthook=None, data=None)参数filename指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。)参数repo...

2018-06-21 12:52:10 2609

原创 python多线程编程

1. 多线程、多进程、多协程。多进程简单举例举例:# encoding:utf-8import threadingimport timedef thread_one(): time.sleep(3) # threading.current_thread() 显示当前进程 print "我是线程一:我的作用是打印。%s" % threading.current_th...

2018-06-18 11:14:57 209

原创 MongoDB数据库前期准备及配置

1. 前期准备:(1)下载安装MongoDB数据库。(2)下载安装MongoDB Compass。(3)将MongoDB安装路径下的bin文件夹的路径加到环境变量中,方便后期调用。(4)在cmd中执行语句:mongod --dbpath D:\MongoDB\data,启动数据库。2.遇到的问题(一)执行第四步时,显示“无法启动此程序,因为计算机中丢失api-ms-win-crt-runtime-...

2018-06-17 00:48:06 423

原创 python中查看.db文件中表格的名字及表格中的字段

1.问题描述: 我桌面上有一个“账号密码.db”文件,我现在想知道里面有几张表格table,以及表格的名字。2.解决方案:使用SQL语句"""select name from sqlite_master where type='table' order by name""",实例代码如下:# coding:utf-8import sqlite3conn = sqlite3.connect("C...

2018-06-16 18:06:56 9197

原创 pymysql库的基本使用

首先需要安装好MySQL数据库,并建立一个“mypysql”数据库,下面就可以对数据库进行操作了。示例代码如下:# --coding:utf-8-- #import pymysql# 1.连接名字为"pymysql"的数据库conn = pymysql.connect(host="localhost", user="root", password="mysqlroot", database=...

2018-06-16 17:15:18 605

原创 古诗文网站之网络爬虫

1. 下面是古诗文网站的网络爬虫代码# encoding:utf-8import requestsimport reimport jsondef parse_page(url): # 1.请求网站 headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit...

2018-06-15 20:38:07 2394

原创 正则表达式

1. 正则表达式表示单个字符# coding:utf-8import re# 1.匹配某个字符串# text = "china America Korea England"# ret = re.match("ch", text)# print (ret.group())# 2.点“.”:匹配任意的字符,但不能匹配换行符"\n"# text = "china America Kor...

2018-06-15 16:08:03 176

原创 python匿名函数的使用

1. enumerate()方法可以同时拿到index和value。2. python匿名函数,lambda表达式,可以简化代码。详见2.2可视化过程。3. map()函数返回的是map类型,需要转换成list类型。示例代码如下:# coding:utf-8import requestsfrom bs4 import BeautifulSoupimport jsonfrom pyecha...

2018-06-15 13:56:44 708

原创 enumerate( )方法

使用enumerate( )方法的好处:可以同时拿到index和value。示例代码如下:# coding:utf-8trs = ["China", "America", "Korea", "England"]for tr in trs: print trprint "*"*30# 使用enumerate()方法for index, tr in enumerate(trs): ...

2018-06-15 12:33:51 1059

原创 Python2.7中包含unicode字符的字典的输出问题

1. Python2.7中包含unicode字符的字典的输出时会出现问题,示例如下:# coding:utf-8dic = {"city": u"北京"}print dic输出结果为:D:\Python2.7\python.exe D:/PyCharm/dytt_spider/text.py{'city': u'\u5317\u4eac'}Process finished with ex...

2018-06-15 11:20:25 4679

原创 BeautifulSoup解析工具

BeautifulSoup常用的四种对象(Type)BeautifulSoup将复杂的HTML文档转换成一个复杂的树型结构,每个节点都是Python对象,所有对象可以归纳为4种:Tag、NavigatableString、BeautifulSoup、Comment。Tag通俗来讲就是HTML中的一个个标签。BeautifulSoup中的Select()方法# coding:utf-8impor...

2018-06-14 14:58:14 423

原创 BeautifulSoup解析工具与css选择器使用简介

# coding:utf-8import requestsfrom lxml import etreefrom bs4 import BeautifulSoupimport chardetBASE_DOMAIN = "http://www.ygdy8.net"HEADERS = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win...

2018-06-14 14:26:17 621

原创 CSS选择器

HTML代码如下:<!DOCTYPE html><html><head> <title>我的HTML代码</title> <style type="text/css"> p{ background-color: pink } </style></hea

2018-06-14 12:22:29 89

转载 你必须记住的30个CSS选择器

开篇有30个CSS选择器你必须烂熟于心,它们适应于当今各大主流浏览器。1.** { margin: 0; padding: 0;}1234*选择器选择的是每一个单一元素。很多程序员用上面的CSS将所有元素的margin和padding清零。虽然这是有效的,但最好还是别这么做,这会使得浏览器的负担很重。*选择器也可以用在孩子选择器中。#container * { border: 1px...

2018-06-14 11:31:24 1558

原创 Beautiful Soup解析工具简介

1.HTML解析器有很多种,比如:解析工具 解析速度 难度       BeautifulSoup最慢最简单lxml快简单正则最快最难https://www.crummy.com/software/BeautifulSoup/bs3/documentation.zh.html...

2018-06-14 10:46:22 440

原创 Python转码问题的解决方法——illegal multibyte sequence

在Python中,可以对String调用decode和encode方法来实现转码。比如,若要将某个String对象s从gbk内码转换为UTF-8,可以如下操作 s.decode('gbk').encode('utf-8′) 可是,在实际开发中,我发现,这种办法经常会出现异常: UnicodeDecodeError: ‘gbk' codec can't decode bytes in positio...

2018-06-13 13:17:08 12717

原创 豆瓣读书\豆瓣电影

获取豆瓣读书页信息,网址为:https://book.douban.com/,代码如下:# coding:utf-8import requestsfrom lxml import etree# 1.获取豆瓣读书网页内容headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/53...

2018-06-12 20:11:36 488

原创 lxml和xpath结合使用

lxml和xpath结合使用主要有以下5个方面内容:# 1.获取所有的tr标签# 2.获取第2个标签# 3.获取所有class 等于event的tr标签# 4.获取所有a标签下的href属性# 5.或许所有的职位信息(纯文本)实例代码如下:# -- coding:utf-8 --from lxml import etreeparser = etree.HTMLParser(encoding=...

2018-06-12 14:50:54 706

原创 使用lxml解析HTML代码

1. 解析html字符串。使用“lxml.etree.HTML( )”进行解析。示例代码如下:# --coding:utf-8-- #from lxml import etreetext = """"""htmlelement = etree.HTML(text)print etree.tostring(htmlelement, encoding="utf-8").decode("ut...

2018-06-12 14:46:27 4554

原创 requests库的基本使用

1. response.content和response.text的区别response.content是编码后的byte类型(“str”数据类型),response.text是unicode类型。这两种方法的使用要视情况而定。注意:unicode -> str 是编码过程(encode()); str -> unicode 是解码过程(decode())。示例如下:# --codin...

2018-06-10 00:40:24 582

原创 PyCharm 常用快捷键和设置

pycharm常用快捷键转自:https://blog.csdn.net/weixin_41059146/article/details/788261631、编辑(Editing)Ctrl + Space    基本的代码完成(类、方法、属性)Ctrl + Alt + Space  快速导入任意类Ctrl + Shift + Enter    语句完成Ctrl + P    参数信息(在方法中调用...

2018-06-08 16:25:45 463

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除