分类
摘要:
距离上次的小项目已经休息了很长一段时间,是时候来继续本系列教程了。这一节开始我们将深入python中的数据结构。
序列的概念
在python中,最基本的数据结构是序列,序列包含一个或多个元素,每个元素有一个序号,也就是元素的位置,也称为索引。第一个索引是0,第二个是1,以此类推。
说到这里,可能大家都想到了列表。确实... 阅读原文
2019-02-17 06:00:03 阅读(3602) 评论(0)
摘要:
前几天写的‘python—多协程爬取斗鱼高颜值美女图片’,已经失效,斗鱼已经修改了网页的源代码。
今天重新写了一个新版本
说明:
(1)之前的版本只要将代码中的‘data-original’改为‘src’,能爬取一小部分的高颜美女,大部分图片都是黑白斗鱼字图片。
(2)现在2.0版本爬取的图片每张图片分为big和sm... 阅读原文
2019-02-17 00:00:03 阅读(2605) 评论(0)
摘要:
协程的特点是利用任务的阻塞时间去处理其他任务
处理任务的是线程,而协程是单线程,占用资源由大到小排:多进程>多进程>协程
gevent模块封装greenlet模块,greenlet模块封装yield
在gevent里使用tiem.sleep会失效,需要使用gevent.sleep,或者使用monke... 阅读原文
2019-02-16 22:46:02 阅读(2410) 评论(0)
摘要:
两种创建生成器的方法:
将列表推导式的 [ ] 换成 ( )
在函数里使用 yield
三种启动生成器的方法:
next()
send(参数)
for循环
迭代器和生成器的区别:
迭代器可以减少资源耗用,实现循环
生成器是特殊的迭代器,可以通过yield暂停执行,也可以通... 阅读原文
2019-02-16 20:59:03 阅读(2611) 评论(0)
摘要:
43、模仿静态变量(static)另一案例。
程序分析:演示一个python作用域使用方法。
#python3.7
class Num:
nNum = 1
def inc(self):
self.nNum += 1
print('nNum = %d' % self.... 阅读原文
2019-02-16 20:11:02 阅读(1372) 评论(0)
摘要:
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
示例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0]... 阅读原文
2019-02-16 19:21:01 阅读(2353) 评论(0)
摘要:
一般使用for循环的顺序:
先创建一个迭代器:列表,并且列表内已存在数据
接着使用 for循环遍历列表
但这样存在一个问题,假如列表内的数据量很大,这样还未使用for循环便已经被列表占用很大的资源
这时我们就可以将这个迭代器做成一个生成数据的迭代器,而非只是占用大资源的数据,从而减少资源占用
... 阅读原文
2019-02-16 19:13:02 阅读(1383) 评论(0)
摘要:
到此为止,Python基础完结撒!
其实,任何一门程序语言的基础无非不过:输入输出语句、数据结构、变量定义、选择结构、循环结构、定义函数,只要掌握这些部分,基础就打牢靠了!
编写Python程序时可能会用到许多陌生模块,不要害怕,多去查查就会使用了。
语言这个东西如逆水行舟,不进则退,只有多看,多练才能蒸蒸日上... 阅读原文
2019-02-16 18:09:02 阅读(2392) 评论(0)
摘要:
【题目】从1,2,3,4四个数字中组成互不相同且不重复的三位数,要求全部列出
【题目分析】用列表生成式一步到位
【解答】
1 #!/Users/minutesheep/.pyenv/shims/python
2 # -*- coding: utf-8 -*-
3
4 ans = [i*100+j*... 阅读原文
2019-02-16 17:27:02 阅读(1388) 评论(0)
摘要:
好多网站对于爬虫中没有进行浏览器伪装的会进行反爬,
以糗事百科网站为例
下面提供了三种方法添加headers,使爬虫能够伪装成浏览器访问。
备注:
方法二和方法三中省略了
import urllib.request
url = 'http://www.qiushibaike.com/'
方法一:通过opener添... 阅读原文
2019-02-16 17:14:02 阅读(1393) 评论(0)