由于工作的需求,需要用python做一个类似网络爬虫的采集器。虽然Python的urllib模块提供更加方便简洁操作,但是涉及到一些底层的需求,如手动设定User-Agent,Referer等,所以选择了直接用socket进行设计。当然,这样的话,需要对HTTP协议比较熟悉,HTTP协议这里就不做讲解了。整个python的代码如下:#!/usr/binenvpythonimportsockethost="www.baidu.com"se=socket.so
系统 2019-09-27 17:52:30 2039
创建main.py文件并粘贴下面代码点击右键运行Debug'main'后,下方的Debug窗口会出现ImportError:Nomodulenamed'bottle'这样的提示,提示导入bottle包出错所以我们需要先安装这两个包,cmd,输入pipinstallbottle回车后开始安装bottle包Mac权限不够补上sudo#!/usr/bin/python#coding=utf-8frombottleimportdefault_app,get,run
系统 2019-09-27 17:52:23 2039
pymysqldemo代码样例,暂时先写查询的,增删改后续再添加;通用部分无论是增删改查,都需要先建立数据库连接,创建游标importpymysql#建立一个mysql的conn,返回Connetion对象conn=pymysql.connect(host='localhost',user='root',passwd='p@ssWD',port='3306',db='test')#新建一个游标,默认返还元组,可选DictCursor让查询结果返还dict#
系统 2019-09-27 17:50:47 2039
如果设置了本地环境变量,可直接执行#coding=utf-8#-*-coding:utf-8-*-importxlwtimportrandomnumList=[]#设置表格样式defset_style(name,height,bold=False):style=xlwt.XFStyle()font=xlwt.Font()font.name=namefont.bold=boldfont.color_index=4font.height=heightstyle
系统 2019-09-27 17:50:33 2039
一、实现过程终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制表示就是033)书写格式:开头部分:\033[显示方式;前景色;背景色m+结尾部分:\033[0m注意:开头部分的三个参数:显示方式,前景色,背景色是可选参数,可以只写其中的某一个;另外由于表示三个参数不同含义的数值都是唯一的没有重复的,所以三个参数的书写先后顺序没有固定要求,
系统 2019-09-27 17:50:28 2039
Python中有以下几个基本的数据类型:整数int字符串str浮点数float集合set列表list元组tuple字典dict布尔类型bool日期date其中可变数据类型有:list(列表)、dict(字典)、set(集合);不可变数据类型有:int(整型)、float(浮点型)、str(字符串)、bool(布尔类型)、tuple(元组);什么可变对象及不可变对象?不可变对象:就是说该对象所指向的内存中的值不能被改变。当改变某个变量时候,由于其所指的值不能
系统 2019-09-27 17:49:58 2039
Python3注释确保对模块,函数,方法和行内注释使用正确的风格Python中的注释有单行注释和多行注释:Python中单行注释以#开头,例如::#这是一个注释print("Hello,World!")多行注释用三个单引号'''或者三个双引号"""将注释括起来,例如:1、单引号(''')#!/usr/bin/python3'''这是多行注释,用三个单引号这是多行注释,用三个单引号这是多行注释,用三个单引号'''print("Hello,World!")2、
系统 2019-09-27 17:49:52 2039
01.Python3数据类型(一)python3基本数据类型大致分为可变数据类型和不可变数据类型,不可变有Number(数字)、String(字符串)、Tuple(元组),可变有List(列表)Dictionary(字典)Set(集合)文章目录01.Python3数据类型(一)Number关于Number一些运算和内置函数字符串索引(通用序列操作)切片[左索引:右索引:步长](通用序列操作)常用方法格式化方法format()List(列表)序列UML检验值
系统 2019-09-27 17:49:30 2039
具体代码如下所示:importsmtplib,email,os,timefromemail.mime.multipartimportMIMEMultipartfromemail.mime.textimportMIMETextfromemail.headerimportHeader#设置smtplib所需的参数smtpserver='smtp.qq.com'#SMTP服务器地址username='xxx@qq.com'#发件人地址,通过控制台创建的发件人地址
系统 2019-09-27 17:49:18 2039
剑指offer:从上到下打印二叉树题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。结果:[8,6,10,5,7,9,11]解题思路典型的使用队列的题目。每从队列头部获取一个节点,就将该节点的左右子节点存入队列的尾部。如此往复,直至队列为空。代码#coding:utf-8classSolution:#从上往下打印出二叉树的每个节点,同层节点从左至右打印defPrintFromTopToBottom(self,root):array=[]resu
系统 2019-09-27 17:49:17 2039
一、用例编写规则1.unittest提供了testcases、testsuites、testfixtures、testrunner相关的类,让测试更加明确、方便、可控。使用unittest编写用例,必须遵守以下规则:(1)测试文件必须先importunittest(2)测试类必须继承unittest.TestCase(3)测试方法必须以“test_”开头(4)测试类必须要有unittest.main()方法2.pytest是python的第三方测试框架,是
系统 2019-09-27 17:49:08 2039
一、运算符1、算术运算符:主要用于两个对象算数计算(加减乘除等运算)运算符:+:两个对象相加-:得到负数或是一个数减去另一个数*:两个数相乘或是返回一个被重复若干次的字符串/:x除以y%:返回除法的余数**:返回x的y次幂//:返回商的整数部分2、比较(关系)运算符:用于两个对象比较(判断是否相等、大于等运算)运算符:==:比较对象是否相等!=:比较两个对象是否不相等<>:比较两个对象是否不相等>:返回x是否大于y<:返回x是否小于y。所有比较运算符返回1
系统 2019-09-27 17:48:50 2039
背景使用不同python版本开发python项目,或隔离多个项目之间的配置,可通过python虚拟环境virtualenv实现以上目的下载安装下载python3.6编译安装1、建立一个soft文件夹用来存放下载文件mkdirsoft环境准备yuminstallopenssl-develbzip2-develexpat-develgdbm-develreadline-develsqlite-develxzgcczlibzlib-devel2进入cdsoft3
系统 2019-09-27 17:47:47 2039
replace()方法返回当前old换成new,可选择的替代限制到最大数量的字符串的副本。语法以下是replace()方法的语法:str.replace(old,new[,max])参数old--这是要进行更换的旧子串。new--这是新的子串,将取代旧的子字符串。max--如果这个可选参数max值给出,仅第一计数出现被替换。返回值此方法返回字符串的拷贝与旧子串出现的所有被新的所取代。如果可选参数最大值给定,只有第一个计数发生替换。例子下面的示例演示了rep
系统 2019-09-27 17:47:10 2039
抓取动态的网页内容主要有两种办法,一种是通过开发者工具找到动态内容的接口,然后分析接口的参数和返回值来爬取网站的数据。另外一种是通过模拟浏览器来抓取数据。python的Selenium库就可以通过代码来模拟浏览器抓取数据。一、概述运行Selenium需要依赖于Python的selenium库,以及浏览器对应驱动器(WebDriver)。安装selenium库pipinstallselenium项目地址:https://pypi.org/project/se
系统 2019-09-27 17:47:10 2039