自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zbrj12345的博客

眼前路,身后身,念念不忘,必有回响。

  • 博客(30)
  • 问答 (1)
  • 收藏
  • 关注

原创 Python3-抓取某翻译网页 获取js数据

#抓取有道翻译网页 获取js数据#找接口,至少尝试三次以上from urllib import parse,requestimport time,randomimport hashlibimport json#md5加密def getMd5(str): md5 = hashlib.md5() md5.update(bytes(str, encoding='utf...

2018-04-17 21:54:17 1068

翻译 Python3-md5加密

# 由于MD5模块在python3中被移除# 在python3中使用hashlib模块进行md5操作import hashlib# 待加密信息str = 'this is a md5 test.'# 创建md5对象h=hashlib.md5()# Tips# 此处必须声明encode# 若写法为hl.update(str) 报错为: Unicode-objects mu...

2018-04-17 15:27:52 1660

原创 Python3-爬虫登录开心网的账号,并且爬取个人主页内容

#爬虫登录开心网的账号,并且爬取个人主页内容from urllib import request,parsefrom http import cookiejarimport ssl#取消SSL验证ssl._create_default_https_context=ssl._create_unverified_context#定义请求管理器#url.request.urlopen...

2018-04-13 15:45:17 1718

原创 Python3-网页爬取-SSL验证

'''SSL--校验网站证书----针对https,不针对http一、什么是SSL证书'''from urllib import requestimport ssl#ssl免验证#创建一个不需要验证的上下文ssl._create_default_https_context=ssl._create_unverified_context#而不是ssl._create_unverif...

2018-04-13 11:43:44 2470

原创 Python3-网页爬取-post方式实现百度翻译

#请求方式 postfrom urllib import request,parseimport jsondef fanyi(content): data={ 'kw':content } data=parse.urlencode(data) # print(len(data)) base_url = 'http://fanyi....

2018-04-12 17:01:38 1232

原创 Python3-网页爬取-批量爬取贴吧页面数据

# 批量爬取贴吧页面数据# 网页抓取汉字转码、多个参数拼接# 第1页: https://tieba.baidu.com/f?kw=%E6%97%85%E8%A1%8C%E9%9D%92%E8%9B%99&ie=utf-8&pn=0# 第2页:https://tieba.baidu.com/f?kw=%E6%97%85%E8%A1%8C%E9%9D%92%E8%9B%99&a...

2018-04-12 14:22:02 1770

原创 Python3-网页爬取-网页抓取汉字转码、多个参数拼接

#网页抓取汉字转码、多个参数拼接from urllib import request#将汉字转成unicode码from urllib import parse# base_url='http://www.baidu.com/s?wd='base_url='http://www.baidu.com/s?wd='content=input('请输入你要搜索的内容:')# base...

2018-04-12 12:02:02 1298

原创 Python3-网页爬取-判断user-agent,判断是否是正常浏览器访问

'''判断user-agent,判断是否是正常浏览器访问'''from urllib import requestbase_url = "http://www.langlang2017.com"headers = { "connnction":"keep-alive", "USer_Agent":"mozilla/5.0 (Windows nt 6.1; WOW64...

2018-04-12 11:08:45 2875

原创 Python3-网页爬取-假装浏览访问,假装不同的浏览器访问。

'''假装浏览访问,假装不同的浏览器访问。从user_agent_list.txt文件中,读取user_agent数据,用来封装成一个带headers的request对象,进行网站页面的爬取。'''from urllib import requestimport randombase_url = "http://www.baidu.com"#1.读取文件内容text = ""w...

2018-04-12 11:07:30 686

原创 Python3-urllib库--网页抓取

#urllib库的基本使用'''1、网页抓取就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地。python2:urllib2python3:urllib.request'''#1、引入模块from urllib import request#2、操作#(1)定义目标urlbase_url="http://www.baidu.com"#(2)发起请求(GE...

2018-04-09 22:51:39 213

转载 关于 HTTP GET/POST 请求参数长度最大值的一个理解误区

1.    Get方法长度限制Http Get方法提交的数据大小长度并没有限制,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。如:IE对URL长度的限制是2083字节(2K+35)。下面就是对各种浏览器和服务器的最大处理能力做一些说明.Microsoft Internet Explorer (Browser)IE浏览器对URL的最大限制为2083个字符,如果超...

2018-04-09 13:26:17 270

原创 Python3-copy模块-浅拷贝与深拷贝

#深拷贝#浅拷贝#1 等号# list1=[11,22,33,['a','b']]# list2=list1# list1.append(44)# print(list1)# print(list2)#2 copyimport copy# c=[11,22,33,['a','b']]# d=copy.copy(c)# c.append(44)# print(c)# ...

2018-04-06 00:15:38 2026

原创 Python3-迭代器Iterator

#迭代器'''迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素都被访问完结束。如果想访问一个元素,需要把这个元素前面的所有元素都遍历后,才可以访问到。'''#1.可迭代的对象:像(1)、(2)这些对象称之为可迭代对象,Iterable#(1)、以直接作用for循环的数据类型有:list\tuple\dict...

2018-04-05 20:52:44 859

原创 Python3-生成器与yield

#斐波那契数列指的是这样一个数列:1、1、2、3、5、8、13、21、34、…import time# def fib(times):# a = 0# b = 1# n = 1# while n<=times:# print(b)# a,b = b,a+b# n+=1# fib(7)#生成...

2018-04-05 19:52:57 298

原创 Python3-生成器与列表推导式的区别

#生成器'''1.什么是生成器通过列表推导式,可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,占用很大的存储空间。如果我们仅仅需要访问前面几个元素,后面元素的占用存储空间就被浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们就可以在循环当中不断地推导它,生成元素。这样就不必创建完整的list,从而大大节省了存储空间。...

2018-04-05 15:18:04 525

原创 Python3-协程(微线程,纤程)

#协程#~又称微线程,纤程。'''它是比线程更小的执行单元,因为它自带CPU上下文。这样只要在合适的时机,我们可以把一个协程切换到另一个协程当中。只要这个过程保存或恢复CPU上下文,那么程序就可以运行。通俗的理解:在一个线程中的某个函数,可以在任何地方保存当前函数的一些临时变量等信息,然后切换到另外一个函数中执行,(注意不是通过调用函数的方式来实现),并且切换的次数以及什么时候再切换到...

2018-04-05 14:08:07 656

原创 Python3-主要用多进程而不是多线程的原因

#比较线程和进程效率问题from threading import Threadfrom multiprocessing import Processimport time#计数def two_hundred_million(): start_time=time.time() i=0 for _ in range(200000000): i+=1...

2018-04-05 09:38:05 1754

原创 Python3-异步进程回调函数(callback())

#异步'''举例:你喊你朋友吃饭,你朋友正忙,如果你一直在那等他,等你朋友忙完了,你们一块去。--同步调用你喊你朋友吃饭,你朋友正忙,如果你自己做你自己的事,你朋友忙完,找到你,一块去吃饭。--异步调用'''# from bs4 import BeautifulSoupfrom multiprocessing import Process,Poolimport osimp...

2018-04-02 17:40:45 8765 1

原创 Python3-threading.local()代替普通全局变量

##threading.local():针对各个线程的一个全局对象'''在多线程环境下,一每个线程都有自己的数据。一个线程使用自己的局部变量比使用全局变量好,因为局部变量只有线程自己能看见,不会影响其它线程,而全局变量的修改必需加锁(阻塞--效率低)但是在使用局部变量的时候,就在函数间调用的时候,传递起来很麻烦。每个函数一层一层调用这个传递过来的参数,很麻烦。用全局变量,不安全,...

2018-04-02 16:25:09 2173

原创 Python3-线程应用队列(生产者与消费者模式--多生产者VS多消费者)

#复杂的--多对多#生产者与消费者模式'''定义: 在并发编程中使用生产者和消费都模式能够解决绝大多数并发问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度。案例: 两个厨师对四个顾客 厨师做包子和顾客吃包子问题。 当生产的慢,消费的快的时候,get()会发生阻塞,等待 当生产的忙,消费的快的时候,get_nowa...

2018-04-02 14:22:29 1878

原创 Python3-线程应用队列(生产者与消费者模式--2生产者VS4消费者)

#两个厨师对四个顾客#生产者与消费者模式'''定义: 在并发编程中使用生产者和消费都模式能够解决绝大多数并发问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度。案例: 厨师做包子和顾客吃包子问题。 当生产的慢,消费的快的时候,get()会发生阻塞,等待 当生产的忙,消费的快的时候,get_nowait()会发生queue.Em...

2018-04-02 14:02:20 523

原创 Python3-线程中应用队列

#生产者与消费者模式'''1.队列(1)特点:先进先出(2)python2VSpython3python2: from Queue import queuepython3:from queue import Queuejoin--阻塞动作blocked--状态(3)使用Python的Queue模块中提供了同步的、线程安全的队列类a.FIFO----(First In Fi...

2018-04-02 09:33:07 848

原创 Python3-多线程死锁问题

#1、死锁:前提是有多个锁'''在线程间共享多个资源的时候,如果两个线程分别占有一部分资源并且同时等待对方的资源时,就会造成死锁。尽管死锁很少发生,但一旦发生就会造成应用的停止响应。'''#2、例子:#有两个人分别做“西兰花”和“红烧肉”,每个人都需要“锅”和“铲子”才能炒菜。import threading,timeclass XiLanHua_Thread(threadi...

2018-04-02 00:47:59 2288

原创 Python3-为多线程上锁

#在threading模块当中,定义一个Lock类,可以方便的处理锁定:(线程之间的锁是互斥的)#互斥锁'''当多个线程几乎同时修改某一个共享数据的时候,需要进行同步控制。线程同步能够保证多个线程安全访问“竞争资源”,最简单的同步机制就是引用互斥锁。互斥锁为资源引入一个状态:锁定/非锁定状态。某个线程要更改共享数据时,先将其锁定,此时资源的状态为“锁定”,其它线程不能更改;直到当前...

2018-04-01 23:35:00 1727

原创 多进程VS多线程

'''功能:进程,能够完成多任务,if 比如在一台能够同时运行多个QQ:线程,能够完成多任务,比如一个QQ中的多个聊天窗口。定义:进程是系统进行资源分配和调试的一个独立单位。线程是进程的一个实体,是CPU调用和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,但是它可以与同属于一个进程的其它线程共享进程所拥有的全部资源。区别:一个程序至少有...

2018-04-01 19:35:19 154

原创 Python-copy模块-浅拷贝copy.copy()

import copy# a = 11# b = a# a = 12# print(b)#输出结果:11 --无影响#浅拷贝--# 1、=赋值# download_list = [11,22,33]# copy_list = download_list## download_list.append(44)# print(copy_list)# 输出结果:[11, 22, 33, 44] --有影响...

2018-04-01 18:07:11 252

原创 Python3-列表(容器)当做实参传递到线程中(暂未加锁)

#列表(容器)当做实参传递到线程中(暂未加锁)#总结:    '''    在一个进程内的所有线程共享全局变量,能够在不适用其它方式的前提下完成多线程之间的数据共享    缺点:线程是对全局变量的随意更改可能造成多线程之间对全局变量引用比较混乱(线程安全成了问题)    '''import threadingimport time,random,copydef work1(download_lis...

2018-04-01 17:00:33 342

原创 Python3-多线程共享全局变量

#多线程---全局变量----共享(线程并不像进程那样创建一个进程就Copy一次代码)from threading import Threadimport time,randomg_num = 100def work1(): global g_num for i in range(3): g_num += 1 time.sleep(ra...

2018-04-01 15:13:39 5387 1

原创 Python3-线程执行顺序问题(生命周期)

import threading#2、线程的执行顺序import timeclass MyThread(threading.Thread): def run(self): for i in range(3): time.sleep(1) msg = "I'm " + self.name + "@" + str(i) ...

2018-04-01 15:00:59 1763

原创 Python3-线程名字问题

import threading#1、线程名字class MyThread(threading.Thread): def run(self): print("%s正线程正在下载...."%(self.name))if __name__ == "__main__": # t = MyThread(name="downloadThread")#可以自定义给...

2018-04-01 14:56:46 5103

空空如也

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

TA关注的人

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