python网络爬虫笔记(八)
一、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网络爬虫笔记(八)的更多相关文章
- Python网络爬虫笔记(五):下载、分析京东P20销售数据
(一) 分析网页 下载下面这个链接的销售数据 https://item.jd.com/6733026.html#comment 1. 翻页的时候,谷歌F12的Network页签可以看到下面 ...
- [Python]网络爬虫(八):糗事百科的网络爬虫(v0.2)源码及解析
转自:http://blog.csdn.net/pleasecallmewhy/article/details/8932310 项目内容: 用Python写的糗事百科的网络爬虫. 使用方法: 新建一个 ...
- Python网络爬虫笔记(二):链接爬虫和下载限速
(一)代码1(link_crawler()和get_links()实现链接爬虫) import urllib.request as ure import re import urllib.parse ...
- python网络爬虫笔记(九)
4.1.1 urllib2 和urllib是两个不一样的模块 urllib2最简单的就是使用urllie2.urlopen函数使用如下 urllib2.urlopen(url[,data[,timeo ...
- python网络爬虫笔记(六)
1.获取属性如果不存在就返回404,通过内置一系列函数,我们可以对任意python对象进行剖析,拿到其内部数据,但是要注意的是,只是在不知道对象信息的时候,我们可以获得对象的信息. 2.实例属性和类属 ...
- python网络爬虫笔记(五)
一.python的类对象的继承 1.所有的父类都是object类,由于类可以起到模块的作用,因此,可以在创建实例的时候,巴西一些认为必须要绑定的属性填写上去,通过定义一个特殊的方法 __init__, ...
- python网络爬虫笔记(四)
一.python中的高阶函数算法 1.sorted()函数的排序 sorted()函数是一个高阶函数,还可以接受一个key函数来实现自定义的函数排序,key指定的函数作用于每个序列元素上,并根据k ...
- python网络爬虫笔记(三)
一.切片和迭代 1.列表生成式 2.生成器的generate,但是generate保存的是算法,所以可以迭代计算,没有必要,每次调用generate 二.iteration 循环 1.凡是作用于for ...
- python网络爬虫笔记(一)
一.查询数据字典型数据 1.先说说dictionary查找和插入的速度极快,不会随着key的增加减慢速度,但是占用的内存大 2.list查找和插入的时间随着元素的增加而增加,但还是占用的空间小,内存浪 ...
随机推荐
- 「PKUWC 2018」Minimax
传送门:Here 一道线段树合并好题 如果要维护点$ x$的信息,相当于合并$ x$的两棵子树 对于这题显然有:任何叶子节点的权值都可能出现在其祖先上 因而我们只需要在线段树合并的时候维护概率即可 我 ...
- 360doc个人图书馆解决复制问题
360doc个人图书馆在复制的时候会弹出如下页面: 对于我们程序员来说很容易就可以推断,可能是在复制的时候写了事件什么的. 估计是这些个: document.oncopy或者document.body ...
- python笔记(一)获取当前目录路径和文件
一.获取当前路径 1.使用sys.argv[0] import sys print sys.argv[0]#输出#本地路径 2.os模块 import os print os.getcwd() #获取 ...
- logistic回归为什么要使用sigmoid函数
https://www.baidu.com/link?url=LnDjrhLG7Fx6YVgR9WljUILkPZrIzOR402wr2goIS-ARtDv9TwZ2VYVbY74fyVpQlE22n ...
- MySql cmd下的学习笔记 —— 有关修饰器的知识(trigger)
关于触发器的理解: 进行数据库应用软件的开发时,有时我们碰到表的某些数据的改变时,希望同时 引起其他相关数据改变的需求,利用触发器就能满足这样的需求. 触发器能在表中的某些特定数据变化时自动完成某些查 ...
- RabbitMQ应用场景
1.背景 RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现. 2.应用场景 2.1异步处理 场景说明:用户注册后,需要发注册邮件和注册短信, ...
- 为什么要重写equals和hashcode方法
equals hashcode 当新建一个java类时,需要重写equals和hashcode方法,大家都知道!但是,为什么要重写呢? 需要保证对象调用equals方法为true时,hashcode ...
- PHP相关学习
PHP环境安装 使用wamp一键集成环境.在文件httpd-vhosts.conf 本地配置 本地存储的位置,即index.php所在的位置()路由重定向 配置完环境需要重新启动wamp!!!!!! ...
- 题解-CodeForces835F Roads in the Kingdom
Problem CodeForces-835F 题意:求基环树删去环上任意一边后直径最小值,直径定义为所有点对最近距离的最大值 Solution 首先明确删去环上一点是不会影响树内直径的,所以应当先把 ...
- javascript动态的改变checkbox的选中状态
<td> <div class="checkbox"> <label> <input type="checkbox" ...