一、pthon 序列化json格式

1、将python内置对象转换成json 模块,dumps()方法返回的是一个str,内容是标准的JSON,dump()方法可以直接吧JSON写入一个file-like-object,要把JSON反序列化为python对象,使用loads()或者对立的方法,

2、多线程和多进程  (multiprocessing)

3、常见的模块

datetime模块包含一个datetime的类。通过 from datetime  import datetime 导入的才是datetime 这个类

from datetime import datetime       dt=datetime(215,4,15,21,12)  dt.timestamp()

collections模块  ,namedtuple是一个函数,它用来创建一个定义的tuple对象,规定了tuple的元素个数,并可以使用属性而不是缩影来引用tuple的元素。

from collextions import namedtuple      Point=namedtuple("Point",['x','y'])   p=Point(a,2)    p.x

deque函数,为了实高效的插入和删除双向列表,适合队列和栈:

from  collections import  deque      q=deque(['a','v','f'])   q.append('x')  q.appendleft('f')  deque 实现了appendleft() 和popleft()

defaultdict使用dict时如果 可以不存在,就会抛出keyError,

使用dict的时候。key是无序的 ,但是对dict做迭代,无法确定key的顺序,如果要保持key的顺序,使用OrderedDict

OrderedDict的key会按照插入的顺序排列,不是key本身排列

counter是一个简单的计数器,统计字符出现的个数

base64编码机制,标准的base64编码可能出现字符+ 或者—号,在URl中不允许出现,所以又有一种url safe的base64编码 把+ 或者-号编程-和_

struct模块提供了一个解决bytes其他二进制数据类型转换  ,struct的pack函数把任意的数据类型转换成bytes....。pack的第一个参数是处理指令,I表示4字节无符号整数,后面的参数个数和要处理的指令一致。unpack把bytes变成相应的数据类型

4、python提供了常见的MD5和SHA1 等算法,摘要算法又叫哈希算法 散列算法。它是把任意长度的数据转换成一个固定长度的数据通常用十六进制的字符串表示。摘要算法是通过摘要函数f() 对任意长度的数据data 计算出长度固定的digest目的就是防止原始数据被人篡改。,而且对原始数据做了一个bit的修改,就会导致计算出来摘要完全不同。

如果数据较大可以多次调用hashlib模块中的MD5函数计算结果是一样的。

5、python内的模块itertools提供了操作迭代对象的函数,

import itertools      naturals=itertools.count(1)

for n in naturals:     print(n)

因为count()函数会创建一个无限的迭代器,上述计算会无限的迭代下去。

另一个函数循环迭代的就是cycle()函数。

import  itertools

cs=itertools.sycle('ABC')

for c in cs:    print(c)   这样就会一直持续循环输出ABC

还有一个重复函数就是repeat函数。

ns=itertools.repeat('A',3)

for n in ns:

无限循环只有在for迭代时候才会无限制的迭代下去,如果只是创建一个迭代对象,他不会实现把无限个元素 生成出来,是时候是哪个也不会在内存中创建无限循环的元素,但是通常使用takewhile()函数对判断条件截取出一个有限的循环。

chain()函数可以把一组迭代对象串联起来,形成一个更大的迭代器。

groupby()函数把迭代器中相邻的重复的元素挑出来放到一起

6、contextlib模块, 在python中必须关闭文件,但是使用with参数就不用。

try:
f = open('/path/to/file', 'r')
f.read()
finally:
if f:
f.close()
可以直接改写成这样的形式, with open('/path/file','r')as f: f.read() 就可以不必在担心文件的关闭

7、简单的网站抓取获得

要是伪装成一台iPhone6区访问网页抓取网页内容

模拟微博登陆

python网络爬虫笔记(八)的更多相关文章

  1. Python网络爬虫笔记(五):下载、分析京东P20销售数据

    (一)  分析网页 下载下面这个链接的销售数据 https://item.jd.com/6733026.html#comment 1.      翻页的时候,谷歌F12的Network页签可以看到下面 ...

  2. [Python]网络爬虫(八):糗事百科的网络爬虫(v0.2)源码及解析

    转自:http://blog.csdn.net/pleasecallmewhy/article/details/8932310 项目内容: 用Python写的糗事百科的网络爬虫. 使用方法: 新建一个 ...

  3. Python网络爬虫笔记(二):链接爬虫和下载限速

    (一)代码1(link_crawler()和get_links()实现链接爬虫) import urllib.request as ure import re import urllib.parse ...

  4. python网络爬虫笔记(九)

    4.1.1 urllib2 和urllib是两个不一样的模块 urllib2最简单的就是使用urllie2.urlopen函数使用如下 urllib2.urlopen(url[,data[,timeo ...

  5. python网络爬虫笔记(六)

    1.获取属性如果不存在就返回404,通过内置一系列函数,我们可以对任意python对象进行剖析,拿到其内部数据,但是要注意的是,只是在不知道对象信息的时候,我们可以获得对象的信息. 2.实例属性和类属 ...

  6. python网络爬虫笔记(五)

    一.python的类对象的继承 1.所有的父类都是object类,由于类可以起到模块的作用,因此,可以在创建实例的时候,巴西一些认为必须要绑定的属性填写上去,通过定义一个特殊的方法 __init__, ...

  7. python网络爬虫笔记(四)

    一.python中的高阶函数算法 1.sorted()函数的排序   sorted()函数是一个高阶函数,还可以接受一个key函数来实现自定义的函数排序,key指定的函数作用于每个序列元素上,并根据k ...

  8. python网络爬虫笔记(三)

    一.切片和迭代 1.列表生成式 2.生成器的generate,但是generate保存的是算法,所以可以迭代计算,没有必要,每次调用generate 二.iteration 循环 1.凡是作用于for ...

  9. python网络爬虫笔记(一)

    一.查询数据字典型数据 1.先说说dictionary查找和插入的速度极快,不会随着key的增加减慢速度,但是占用的内存大 2.list查找和插入的时间随着元素的增加而增加,但还是占用的空间小,内存浪 ...

随机推荐

  1. vue Transfer 穿梭框

    Element Transfer组件默认支持单个list的穿梭 现业务需要支持两个list,效果如下 实现思路: 1.有选中才可穿梭 2.已穿梭源数据减少.目标增加(双向) 边界条件: 存储旧List ...

  2. 均方根误差(RMSE)与平均绝对误差(MAE)

    RMSE Root Mean Square Error,均方根误差 是观测值与真值偏差的平方和与观测次数m比值的平方根. 是用来衡量观测值同真值之间的偏差 MAE Mean Absolute Erro ...

  3. Python基础2(2017-07-18)

    1.列表.元素操作 定义列表 list = ['Doris','Linda','Dandy','Allen'] 基础的读取操作 list = ['Doris','Linda','Dandy','All ...

  4. P1494 [国家集训队]小Z的袜子(莫队)

    题目链接:https://www.luogu.org/problemnew/show/P1494 题目大意:中文题目 具体思路:计算概率的时候,每一次是区间的移动,每一次移动,记得先将原来的记录的影响 ...

  5. mysql 原理 ~ kill session解析

    一 简介:kill session为什么需要很久 二 kill语句分为三类  1 DML语句   2 select语句   3 DDL语句 三  kill都要做什么操作   1 kill对sessio ...

  6. nmap 使用总结

    nmap 网络探测工具 参考链接: https://nmap.org/man/zh/ http://www.360doc.com/content/18/0127/18/52402560_7255744 ...

  7. 如何访问IPV6?很简单,几个命令行即可。

    参考:清华大学ISATAP隧道配置方法 简单介绍一下windows下的配置方法,其他系统的配置方法详见上面提供的个链接. 首先打卡管理员权限的命令行窗口,依次输入如下命令即可 netsh int ip ...

  8. android checkBox选中与取消

    checkView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO ...

  9. python 携带cookie获取页面内容

    有时会遇到爬取的页面需要登录,这就要带上cookie了. 下面记录了几种携带cookie的方法 # coding=utf-8 import requests s = requests.Session( ...

  10. Python笔记 【无序】 【四】

    魔法方法1.__xx__  总是被双下划线包围2.面向对象python的一切 3.能够在适当的时候自动被调用     构造和析构 __init__(self,……) -----相当于构造方法,类在实例 ...