
Python
文章平均质量分 73
Jason_HHuang
这个作者很懒,什么都没留下…
展开
-
用sympy库解常微分方程
1. sympy库简介:Sympy是一个数学符号运算库。能解决积分、微分方程等各种数学运算方法,用起来也是很简单,可以和Matlab想媲美。2. 解常微分方程举例:比如解下面这道常微分方程 Python中的代码和运算结果为: 源代码为:# -- coding:utf-8 --from sympy import *#用sympy符号运算解方程x=symbols('x',real ...原创 2018-05-28 20:40:49 · 8752 阅读 · 3 评论 -
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 · 9447 阅读 · 0 评论 -
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 · 243 阅读 · 0 评论 -
动态网页数据抓取(二)
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 · 429 阅读 · 0 评论 -
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 · 672 阅读 · 0 评论 -
光学文字识别技术OCR: Tesseract
1.图形验证码识别技术登陆或者请求一些数据时需要图形验证码。将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition),简称OCR。实现OCR的库不是很多,特别是开源的。因为这一块存在一定的技术壁垒(需要大量的数据、算法、机器学习、深度学习知识等),并且如果做好了具有很高的商业价值。因此开源的比较少。这里介绍一个比较优秀的图像识别开源库:T...原创 2018-12-03 22:49:49 · 1073 阅读 · 0 评论 -
你必须记住的30个CSS选择器
开篇有30个CSS选择器你必须烂熟于心,它们适应于当今各大主流浏览器。1.** { margin: 0; padding: 0;}1234*选择器选择的是每一个单一元素。很多程序员用上面的CSS将所有元素的margin和padding清零。虽然这是有效的,但最好还是别这么做,这会使得浏览器的负担很重。*选择器也可以用在孩子选择器中。#container * { border: 1px...转载 2018-06-14 11:31:24 · 1655 阅读 · 0 评论 -
Scrapy框架架构(一)
1. Scrapy框架介绍Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。Scrapy 使用了 Twisted异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求。...原创 2018-07-17 22:47:03 · 502 阅读 · 0 评论 -
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 · 335 阅读 · 0 评论 -
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 · 426 阅读 · 0 评论 -
Python中的timeit模块
1. Python2和Python3的区别Python2:range()函数返回的是列表List对象,xrange()函数返回的可迭代的对象 Python3:range()函数返回的是可迭代的对象2. timeit 模块:准确测量小段代码的执行时间参考博文:https://blog.youkuaiyun.com/mzpmzk/article/details/75220819timeit ...原创 2018-08-27 17:13:05 · 810 阅读 · 0 评论 -
单向链表-Python实现
单向链表单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值。表元素域elem用来存放具体的数据。 链接域next用来存放下一个节点的位置(python中的标识) 变量p指向链表的头节点(首节点)的位置,从p出发能找到表中的任意节点。节点实现class Sin...原创 2018-08-30 18:11:35 · 306 阅读 · 0 评论 -
双向链表-Python实现
双向链表一种更复杂的链表是“双向链表”或“双面链表”。每个节点有两个链接:一个指向前一个节点,当此节点为第一个节点时,指向空值;而另一个指向下一个节点,当此节点为最后一个节点时,指向空值。操作is_empty() 链表是否为空 length() 链表长度 travel() 遍历链表 add(item) 链表头部添加 append(item) 链表尾部添加 insert(pos...原创 2018-08-30 20:58:37 · 301 阅读 · 0 评论 -
栈(Stack)和队列(Queue)-Python实现
一、栈结构实现栈可以用顺序表实现,也可以用链表实现。栈的操作Stack() 创建一个新的空栈 push(item) 添加一个新的元素item到栈顶 pop() 弹出栈顶元素 peek() 返回栈顶元素 is_empty() 判断栈是否为空 size() 返回栈的元素个数栈的实现# -*- encoding: utf-8 -*-"""栈结构实现栈可以用顺序表实现...原创 2018-09-01 23:37:48 · 683 阅读 · 0 评论 -
古诗文网站之网络爬虫
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 · 2494 阅读 · 0 评论 -
正则表达式
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 · 203 阅读 · 0 评论 -
豆瓣读书\豆瓣电影
获取豆瓣读书页信息,网址为: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 · 587 阅读 · 0 评论 -
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 · 2693 阅读 · 0 评论 -
多线程实现异步爬虫
多线程,异步爬虫,安全队列# 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 · 420 阅读 · 0 评论 -
GIL全局解释器锁
1. 全局解释器锁全局解释器锁(Global Interceptor Lock)GIL的基础知识,涉及基本概念,工作原理,对多线程性能影响等。Python代码的执行由Python 虚拟机(也叫解释器主循环,CPython版本)来控制,Python 在设计之初就考虑到要在解释器的主循环中,同时只有一个线程在执行,即在任意时刻,只有一个线程在解释器中运行。对Python 虚拟机的访问由全局解释器锁(G...原创 2018-06-21 14:57:23 · 289 阅读 · 0 评论 -
动态网页数据抓取(一)
1.什么是AJAX?AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 不是新的编程语言,而是一种使用现有标准的新方法。AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。详细参考:http://w...原创 2018-06-26 21:15:24 · 4172 阅读 · 0 评论 -
Beautiful Soup解析工具简介
1.HTML解析器有很多种,比如:解析工具 解析速度 难度 BeautifulSoup最慢最简单lxml快简单正则最快最难https://www.crummy.com/software/BeautifulSoup/bs3/documentation.zh.html...原创 2018-06-14 10:46:22 · 510 阅读 · 0 评论 -
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 · 118 阅读 · 0 评论 -
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 · 677 阅读 · 0 评论 -
BeautifulSoup解析工具
BeautifulSoup常用的四种对象(Type)BeautifulSoup将复杂的HTML文档转换成一个复杂的树型结构,每个节点都是Python对象,所有对象可以归纳为4种:Tag、NavigatableString、BeautifulSoup、Comment。Tag通俗来讲就是HTML中的一个个标签。BeautifulSoup中的Select()方法# coding:utf-8impor...原创 2018-06-14 14:58:14 · 477 阅读 · 0 评论 -
ProxyHandler代理
1. IP代理简介1.1 使用代理IP,这是爬虫/反爬虫的第二大招,通常也是最好用的。很多网站会检测某一段时间某个IP的访问次数(通过流量统计,系统日志等),如果访问次数多的不像正常人,它会禁止这个IP的访问。所以我们可以设置一些代理服务器,每隔一段时间换一个代理,就算IP被禁止,依然可以换个IP继续爬取。1.2 代理的原理:在请求目的网站之前,先请求代理服务器,然后让代理服务器去请求目的网站,代...原创 2018-06-07 22:17:09 · 4064 阅读 · 1 评论 -
Python2/3中的urllib库
转载https://www.cnblogs.com/sherlockChen/p/8064896.html介绍urllib库在不同版本的Python中的变动,并以Python3.X讲解urllib库的相关用法。urllib库对照速查表Python2.XPython3.Xurlliburllib.request, urllib.error, urllib.parseurllib2urllib.req...转载 2018-06-07 18:16:24 · 231 阅读 · 0 评论 -
Python2.7的Cookie简介
1. Cookie简介(详见百度百科)Cookie,有时也用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。定义于 RFC2109 和 2965 中的都已废弃,最新取代的规范是 RFC6265。(可以叫做浏览器缓存)Cookie,意思是“小甜点”,存储的数量有限,不同的浏览器有不同的存储大小,但一般不超过4kb。coo...原创 2018-06-08 13:31:40 · 1198 阅读 · 0 评论 -
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 · 763 阅读 · 0 评论 -
二叉树-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 · 224 阅读 · 0 评论