之前帮公司爬取过内部的一个问题单网站,要求将每个问题单的下的附件下载下来.一开始的时候我就遇到一个破解登陆验证的大坑......      (╬ ̄皿 ̄)=○ 由于在公司使用的都是内网,代码和网站的描述也都属于公司的信息安全资产范围,具体细节不方便透露,就简要描述一下需求和问题吧. 在访问网站前需要先进行一个登陆,浏览器使用的是chrome,一开始我的想法是通过chromrdriver模拟登陆,但是用户名和密码输入框都是使用的浏览器自带的弹窗,chromedriver无法获取到输入和点击位置.放弃…
requests 使用requests进行爬取                 下面是我编写的第一个爬虫的脚本                   import requests # 导入requests模块                 r = requests.get('https://daohang.qq.com').content # 通过requests.get方法访问地址https://daohang.qq.com,再使用r.content获取返回的bytes内容        …
好久没有来博客园了,今天开始写自己学习Python和Hadoop的学习笔记吧.今天写第一篇,Python学习,其他的环境部署都不说了,可以参考其他的博客. 今天根据MachineLearning里面的代码,写完以后,发现不知道怎么运行py文件,现在说下怎么运行的. 1.Python的文件和文件夹必须包含字母,如果是纯数字的话,是找不到文件的. 2.如果想要导入py文件,必须将py文件放到可以读取的路径下,具体的逻辑可以通过sys.path查看,必须先import sys. 3.导入py所在的目录…
REFERENCE:<Head First Python> ID:我的第二篇[Python学习] BIRTHDAY:2019.7.13 EXPERIENCE_SHARING:解决切换当前工作目录时出现的错误——FileNotFoundError 1.错误类型 FileNotFoundError: [WinError 3] 系统找不到指定的路径.: '../HeadFirstPython/chapter3' 在文件夹D:\0tempt,新建了文件夹 HeadFirstPython,其包含子文件夹…
REFERENCE:<Head First Python> ID:我的第一篇[Python学习] BIRTHDAY:2019.7.6 EXPERIENCE_SHARING:两个程序错误类型 1.错误类型: >>> for each_item in movies: if isinstance(each_items,list): for nested_item in each_item: print(nested_item) else: print(each_item) Synt…
文件操作 文件操作也是编程中需要熟练掌握的技能,尤其是在后台接口编写和数据分析过程中,对各种类型的文件进行操作,获取文件信息或者对信息进行存储是十分重要的.本篇博客中将主要对常见的文本格式文件和Excel文件的相关操作进行介绍. 一.文本文件 1.1 文件操作流程 1.打开文件,获得文件句柄,并赋值给一个变量 : 2.通过句柄对文件进行相关操作: 3.关闭文件 示例: # -*- coding:utf-8 -*- # author: cdc # date: 2018/8/23 f = open(…
前言 学习渠道:慕课网:Python进阶 记录原因:我只是想边上课边做笔记而已,呵呵哒 食用提示:教程环境基于Python 2.x,有些内容在Python 3.x中已经改变 函数式编程 定义:一种抽象计算的编程模式 特点 把计算视为函数而非指令 纯函数式编程不需要变量,没有副作用,一个函数任意执行多少次结果都是确定的,测试简单 支持高阶函数,代码简单 Python支持的函数式编程 Python允许变量,不是纯函数式编程 支持高阶函数,函数可以作为变量传入 支持闭包,可以返回函数 有限度地支持匿名…
前言 学习渠道:慕课网:Python入门 记录原因:人总归要向记忆低头[微笑再见.gif] 记录目标:形成简洁的知识点查阅手册 变量和数据类型 变量 赋值 在Python中,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量.这种变量本身类型不固定的语言称之为动态语言 变量在计算机内存中的表示 对a = 'ABC',在内存中创建了一个'ABC'的字符串和一个名为a的变量,并把它指向'ABC'. 数据类型 字符串 转义 符号:\ 反斜杠本尊:\\ 单行转义:r'--'…
BeautifulSoup     Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间.      在本节的笔记中,笔者将会分享两次示例,来帮助大家熟悉BeautifulSoup库的使用,好的,闲话不说,我们来看一下示例.   如何去定位元素        下面我们来爬取一个网页,然后提取里面一些简单的数据      import…
更新于 2019-01-30 16:30:55 我另外写了一个面向 pixiv 的库:pixiver 支持通过作品 ID 获取相关信息.下载等,支持通过日期浏览各种排行榜(包括R-18),支持通过 pixiv 用户 ID 浏览其相关信息等且完全不需要登录(当然这也意味着不能使用点赞.收藏等需要登录的功能). 感兴趣可以看看~ 然后,这是一个支持快捷命令行式的多线程p站图下载程序:cli-pixiv 另外,该篇原文是刚入门爬虫时写的,当时太菜,有很多不懂的,甚至错误的地方,所以更新了一下. 另注:…
目录 注释 注释的分类 注释的注意点 变量 变量的概念 变量的声明 变量的命名 变量的交换 变量的缓存机制 常量 进制 进制的转换 原码 反码 补码 六大数据类型 Number 的四大类 字符串 str 列表 list 元祖 tuple 集合 set 字典 dict 占位符 类型的转换 Number的强制转换( int flost bool coplex ) Number的自动转换( int flost bool coplex ) 容器类型数据的强制转换 ( str list tuple set…
如其他语言一样,除了基本知识外,另外一个重要的板块就是函数了,python中也有函数. 在python中,函数的定义方式为: def   函数名( ): 下面通过几个简单的例子,看看python中的函数的使用方法: 一般函数 1 def make_album(name,album_name,song_nums = 1): 2 dict_album = {name:[album_name]} 3 if int(song_nums) > 1: 4 dict_album[name].append(so…
1.python的安装     python下载地址:https://www.python.org/downloads/     安装完成后,运行cmd.exe,输入python     如果出现“python不是内部或外部命令”,则需要检查环境变量的配置     python的拓展库下载地址:https://pypi.python.org/pypi 2.程序报错    2.1 程序错误          2.1.1 缩进错误              缩进错误是最常见的错误,本人遇到的缩进错误…
一.SQL注入问题 在使用pymysql进行信息查询时,推荐使用传参的方式,禁止使用字符串拼接方式,因为字符串拼接往往会带来sql注入的问题 # -*- coding:utf-8 -*- # author: cdc # date: 2019/3/18 import pymysql conn = pymysql.connect(host='127.0.0.1',port=3306,user='root',password='cdc19951216',db='test',charset='utf8'…
一.pymysql简介 对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 二.简单使用 # -*- coding:utf-8 -*- # author: cdc # date: 2019/3/18 import pymysql # 创建连接 conn = pymysql.connect(host='127.0.0.1', port=3306, user=…
Mysql测试题 一.表关系 请创建如下表,并创建相关约束 二.操作表 0.在成绩表中同时显示出对应的课程名和学生名 1.自行创建测试数据 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 3.查询平均成绩大于60分的同学的学号和平均成绩: 4.查询所有同学的学号.姓名.选课数.总成绩: 5.查询姓“李”的老师的个数: 6.查询没学过“叶平”老师课的同学的学号.姓名: 7.查询学过“001”并且也学过编号“002”课程的同学的学号.姓名: 8.查询学过“叶平”老师所教的所有课的同学的学…
一.下载与安装 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一. 想要使用MySQL来存储并操作数据,则需要做几件事情: a. 安装MySQL服务端b. 安装MySQL客户端c. [客户端]连接[服务端]d. [客户端]发送命令给[服…
什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 最简单的Web应用就是先把HTML用文件保存好,用一个现成的HTTP服务器软件,接收用户请求,从文件中读取HTML,返回. 如果要动态生成HTML,就需要把上述步骤自己来实现.不过,接受HTTP请求.解析H…
常用模块 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块. python常用模块主要有: 1. time模块 2. random模块 3. hashlib模块 4. os模块 5. sys模块 6. logging模块 7. 序列化模块 8. configpar…
Python中重要的数据结构 1.列表 2.元组 3.字典 4.集合 列表 1.创建列表 # 方式一 name = [] print(type(name)) # 执行结果 >>> <class 'list'> # 方式二 name = list() print(type(name)) # 执行结果 >>> <class 'list'> 2.增(append,insert) insert 方法用于将对象插入到列表中对应的索引位置(索引从0开始),而…
pets = ['dog','cat','dog','goldfish','cat','rabbit','cat'] print(pets) for pet in pets: print(pet) #------------------------------------------ pets = ['dog','cat','dog','goldfish','cat','rabbit','cat'] print(pets) while pet in pets: print(pet) 上述代码都想…
list_num=list(range(1,1000001)) print(min(list_num)) print(max(list_num)) print(sum(list_num)) print("\n") print(list(range(1,20,2))) num=list(range(1,20,2)) for number in range(1,len(num)+1): print(num[number-1]) print("\n") cube=[num…
数据类型 在python中,能够直接处理的基本数据类型主要有数字类型.字符串类型.字节类型.布尔类型.列表.元组.字典.集合等. 一.数字类型 1.1 数字类型的创建 # 数字类型 a = 10 b = a b = 666 a和b两个变量实质指向的是内存中的地址 1.2 数字类型转换 # 数字类型转换 var1 = 3.14 var2 = 5 var3 = int(var1) var4 = float(var2) print(var3, var4) 1.3 python常用内置数学方法 abs(…
模块是把程序代码和数据封装的Python文件,也就是说,每一个以扩展名py结尾的Python源代码文件都是一个模块.每一个模块文件就是一个独立的命名空间,用于封装顶层变量名:在一个模块文件的顶层定义的所有的变量名(函数名也是一个变量名),称作模块的属性.导入模块给予了对模块的全局作用域中的变量名的读取权,也就是说,在模块导入时,模块文件的全局作用域变成了模块内对象的命名空间. 导入一个模块之后,可以使用模块中定义的属性,例如,在模块moduleA中导入一个模块moduleB,那么moduleB就…
Python语言最常用的对象是变量和常量,常量的值是字面意思,其值是不可变的,变量的值是可变的,例如,123,"上海"是常量,而a=1,a=2,其中a是变量名.内置的核心数据类型有:数字.字符串.列表.字典.元组.文件.集合.None和布尔类型.变量的数据类型是由初始化的常量来指定的,其类型根据赋值是可变的,这就是Python的动态类型模型. Python语言的特点是: Python是强类型的语言,只能对一个对象进行适合该类型的操作. Python是动态类型的,自动检测到变量的类型.…
Scrapy Scrapy是一个框架,可以帮助我们进行创建项目,运行项目,可以帮我们下载,解析网页,同时支持cookies和自定义其他功能. Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中.其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫.Scrapy用途广泛,可以用于数据挖…
模块安装 安装requests模块 pip3 install requests 安装beautifulsoup4模块 [更多参考]https://blog.csdn.net/sunhuaqiang1/article/details/65936616 pip install beautifulsoup4 初识requests模块   [更多参考]http://www.cnblogs.com/wupeiqi/articles/6283017.html requests.post(url=""…
字符串是一个字符的.有序的.不可变的序列,用于存储基于文本的信息.字符串所包含的字符存在从左至右的位置顺序,不可以在原处(in-place)修改.Python没有C语言的字符和字符串之分,只有字符串.从严格意义上说,字符串是单个字符的序列,支持基于位置的操作,能够通过位置索引字符:由于字符串具有不可变性,不能对原始的字符串进行修改,也就是说,不能通过对其某一位置进行赋值而修改字符串. 一,字符串常量 字符串常量使用成对的单引号或双引号来表示,两者表示的效果是一样的. 1,在字符串常量中表示引号…
Python基础部分学完之后,在进入其OOP部分前,先理解一下其装饰器这种结构,其功能可类比于Java中的面向切面编程,下面参见具体实例: def log(f): def fn(x): print 'call ' + f.__name__ + '()...' return f(x) return fn print '------------ 直接调 ----------- ' g = log(int) g(') # 只调不打印返回值 print '' ') # 又调又打印输出结果 print '…
目录 运算符 算数运算符 比较运算符 赋值运算符 位运算符 逻辑运算符 成员运算符 身份运算符 Python 中运算符的优先级 运算符总结基础语法 判断类型 isinstence 代码块 流程控制 while循环 双向循环的金典例题 for循环 运算符 算数运算符 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 31 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -11 * 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 210…