博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
3-25 周末总结
阅读量:5886 次
发布时间:2019-06-19

本文共 4917 字,大约阅读时间需要 16 分钟。

josn

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写。

json.dumps

用于将 Python 对象编码成 JSON 字符串。

json.loads

json.loads 用于解码 JSON 数据。该函数返回 Python 字段的数据类型。

json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])

josn使用
import jsonjsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}';text = json.loads(jsonData)print text复制代码

urllib中parse模块的使用

urlencode()

将字典{k1:v1,k2:v2}转化为k1=v1&k2=v2 print(url_data)

url = 'www.baidu.com/s?'dict1 ={
'wd': '百度翻译'}url_data = parse.urlencode(dict1)复制代码
#url_data就是:wd=%E7%99%BE%E5%BA%A6%E7%BF%BB%E8%AF%91data = request.urlopen((url+url_data)).read() #读取url响应结果复制代码

urldecode

当urlencode之后的字符串传递过来之后,接受完毕就要解码了——urldecode。

urllib提供了unquote()这个函数,可没有urldecode()!

from urllib import unquoteunquote('%C4%A7%CA%DE')'\xc4\xa7\xca\xde'print unquote('%C4%A7%CA%DE')#得到:魔兽复制代码

urlparse

定义了url的标准接口,实现url的各种抽取

import urllib.parse as parseurl = 'https://www.baidu.com/s?ie=utf-8&tn=baidu&wd=%E7%BE%8E%E5%A5%B3#a'result = parse.urlparse(url)print(result)print(result.scheme)复制代码
ParseResult(scheme='https', netloc='www.baidu.com', path='/s', params='',query='ie=utf-8&tn=baidu&wd=%E7%BE%8E%E5%A5%B3', fragment='a')https    # scheme:表示协议    # netloc:域名    # path:路径    # params:参数    # query:查询条件,一般都是get请求的url    # fragment:锚点,用于直接定位页面的下拉位置,跳转到网页的指定位置    # urlparse的其他参数:    # urlstring:这是必填项,待解析的url    # scheme:默认的协议(http或者是https,假如要解析的连接没有带协议那么我们可以设置这个为默认的协议)    # all_fragments:是否忽略锚点,如果忽略的话会被解析为path或者是query的一部分(就近原则,跟谁近就属于谁)复制代码

urlunparse

与上面的方法相反,是构造一个url

tkinter

窗口大小定义:

#800x600为窗口大小,+10+10为窗口所在位置。记住x是英文字母的x而不是乘号

root.geometry("800x600+10+10")

控件属性:

Dimension ------------------ 控件大小;

Color --------------------------控件颜色;

Font ---------------------------控件字体;

Anchor ----------------------------- 锚点;

Relief --------------------------控件样式;

Bitmap ------------------------------位图;

Cursor ------------------------------光标;

Dimension

控件大小;

Color

控件颜色;

Font

控件字体:可以设置字体大小

Anchor

锚点;使用的值为:n(north),s(south),w(west),e(east),crnter和ne,nw,se,sw,就是地图上的标识位置了,使用

Relief

控件样式

fg ,bg

改变前景色与背景色

''

标签控件,显示文本和位图,展示在第一行

grid
Label(tk,text="First").grid(row=0)#第一行Label(tk,text="Second").grid(row=1)#第二行Entry(tk).grid(row=0,column=1)#第一行第一个Entry(tk).grid(row=1,column=1)#第二行第二个

ListBox

ListBox是WinForm中的 列表 控件,它提供了一个项目列表(一组数据项),用户可以选择一个或者多个条目,当列表项目过多时,ListBox会自动添加滚动条,使用户可以滚动查阅所有选项。ListBox可以预先设定列表内容,也可以绑定其他控件或数据库,自动更新条目,把数据逐一显示出来。

selectmode

确定可以选择多少项,以及鼠标拖动的影响选择:

BROWSE:

通常,只能从列表框中选择一行。如果单击一个项目,然后拖动到不同的行,选择将会跟随鼠标,是默认的。

SINGLE:

你只能选择一行,不能拖动。

MULT IPLE:

您可以同时选择任意数量的行。点击在任意直线上,无论它是否被选中。不能拖动。

EXTENDED:

您可以一次选择任何相邻的g线。单击第一行并将g拖到最后一行。能拖动

insert

insert()可以选择在已有的item前后插入新的item,只需要指出在第几个。 insert(0,item) insert(ENF,item)

delete

删除Listbox中的项,使用delete,这个函数也有两个参数,第一个为开始的索引值;第二个为结束的索引值,如果不指定则只删除第一个索引项。

删除全部内容,使用delete指定第一个索引值0和最后一个参数END,即可 delete(0,END)

'''

滚动条

滚动条是独立的组件。 为了在某个足尖上安装垂直滚动条,需要做两件事:

1、设置该组件的yscrollbarcommand选项为Scrollbar组件的set()方法

2、设置Scrollbar组件的command选项为该组件的yview()方法

root = Tk()sb = Scrollbar(root)    #垂直滚动条组件sb.pack(side=RIGHT,fill=Y)  #设置垂直滚动条显示的位置lb = Listbox(root,yscrollcommand=sb.set)    #Listbox组件添加Scrollbar组件的set()方法
  • master

父窗口

  • bg

背景色,如 bg = “Blue”

  • fg

前景色,如 fg = “Yellow”

  • hieght

设置显示高度、如果未设置此项,其大小以适应内容标签

  • width

设置显示宽度,如果未设置此项,其大小以适应内容标签

  • relief

指定外观装饰边界附近的标签,默认是平的,可以设置的参数:flat、groove、raised、ridg e、solid、sunken

  • state

设置组件状态;正常(normal),激活(active),禁用(disabled)

  • bd

设置边框bordwidth的大小,缺省为1或2个像素

  • selectmode

选择模式:缺省(default)为浏览单选 BROWSE;多选 MULTIPLE;通过鼠标的移动选择

  • EXTENDED:

shift和ctrl配合使用。

  • listvariable

设置listvariable属性

一些常用的函数(方法):

参数 描述

  • insert 追加item,如listbox.insert(END,’a’), listbox.insert(3,’a’)

  • delete 删除item,如listbox.delete(3,4),删除全部list.delete(0,END)

  • select_set 选中,如listbox.select_set(0,2)

  • select_clear 取消选中如listbox.select_clear(0,1)

  • get 返回制定索引的项值,如listbox.get(1);返回多个项值,返回元组,如listbox.get(0,2);

  • 返回当前选中项的索引listbox.curselection()

  • curselection() 返回当前选中项的索引,如listbox.curselection()

  • selection_includes 判断当前选中的项目中是否包含某项,如listbox.selection_includes(4)

Ajax

AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML), 是指一种创建交互式网页应用的网页开发技术。 AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。 AJAX 是一种用于创建快速动态网页的技术。 AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。

简单的说就是网页加载,浏览器地址栏的网址并没有变,是javascript异步加载的网页,应该是ajax。AJAX一般是通过XMLHttpRequest 对象接口发送请求的,XMLHttpRequest 一般被缩写为 XHR。

request反防爬

代理设置

有些网站会限制 IP 访问频率,超过频率就断开连接。这个时候我们就需要使用到代理,我们可以通过为任意请求方式提供proxies参数来配置单个请求。

  • ip
import requests proxies = {    "http": "http://10.10.1.10:3128",    "https": "http://10.10.1.10:1080",}resp = requests.get('http://www.baidu.com', proxies=proxies)print(resp.status_code)复制代码
  • 浏览器头部
import randomuser_agent_list = [    'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',    ' Mozilla/5.0 (Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1',    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2)']user_agent = random.choice(user_agent_list)复制代码

转载于:https://juejin.im/post/5c9796b5e51d454e38313cad

你可能感兴趣的文章
(转)C# 把我所积累的类库全部分享给博友(附件已经上传)
查看>>
Silverlight5 无法切换输入法,无法输入中文的原因及解决初探
查看>>
游戏开发基础:方向键的组合,八方向实现
查看>>
黑书-DP-方块消除 ****
查看>>
MySQL 分区
查看>>
我的架构经验系列文章 - 后端架构 - 语言层面
查看>>
DEFERRED_SEGMENT_CREATION
查看>>
读取手机硬件信息
查看>>
一致哈希
查看>>
The connection to adb is down, and a severe error has occured. 问题解决
查看>>
在Jenkins中配置运行远程shell命令
查看>>
代码杂记
查看>>
linux中防CC攻击两种实现方法(转)
查看>>
《Programming WPF》翻译 第9章 4.模板
查看>>
Windows7+VS2012下OpenGL 4的环境配置
查看>>
Linux Kernel中断子系统来龙去脉浅析【转】
查看>>
Linux NFS服务器的安装与配置
查看>>
Ada boost学习
查看>>
Unity中SendMessage和Delegate效率比较
查看>>
Linux下EPoll通信模型简析
查看>>