自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

原创 项目部署-Django项目部署

部署1. 静态文件当Django运行在生产模式时,将不再提供静态文件的支持,需要将静态文件交给静态文件服务器。我们先收集所有静态文件。项目中的静态文件除了我们使用的front_end_pc中之外,django本身还有自己的静态文件,如果rest_framework、xadmin、admin、ckeditor等。我们需要收集这些静态文件,集中一起放到静态文件服务器中。我们要将收集的静态文件放到fro...

2021-03-23 20:17:22 212

原创 JS的解析

js2py的使用js2py的介绍js2py是一个js的翻译工具,也是一个通过纯python实现的js的解释器,github上源码与示例s的执行思路js的执行方式大致分为两种:在了解了js内容和执行顺序之后,通过python来完成js的执行过程,得到结果在了解了js内容和执行顺序之后,使用类似js2py的模块来执js代码,得到结果但是在使用python程序实现js的执行时...

2018-11-25 00:09:22 2980

原创 打码平台的使用

为什么需要了解打码平台的使用现在很多网站都会使用验证码来进行反爬,所以为了能够更好的获取数据,需要了解如何使用打码平台爬虫中的验证码常见的验证码的种类url地址不变,验证码不变这是验证码里面非常简单的一种类型,对应的只需要获取验证码的地址,然后请求,通过打码平台识别即可url地址不变,验证码变化这种验证码的类型是更加常见的一种类型,对于这种验证码,大家需要思考:在登录...

2018-11-24 23:39:17 2080

原创 常见的反爬手段和解决思路

明确反反爬的主要思路反反爬的主要思路就是:尽可能的去模拟浏览器,浏览器在如何操作,代码中就如何去实现。例如:浏览器先请求了地址url1,保留了cookie在本地,之后请求地址url2,带上了之前的cookie,代码中也可以这样去实现。通过headers字段来反爬headers中有很多字段,这些字段都有可能会被对方服务器拿过来进行判断是否为爬虫通过headers中的Use...

2018-11-24 23:35:17 1625

原创 selenium的其他方法

selenium 处理cookiedriver.get_cookies()获取的是完整的cookie信息!不光有name、value,还有domain等其他信息!# 把cookie转化为字典cookies_dict = {cookie[‘name’]: cookie[‘value’] for cookie in driver.get_cookies()}#删除一条cookiedr...

2018-11-24 23:31:56 145

原创 元素定位的方法

 selenium的定位操作定位元素语法:```pythonfind_element_by_id (返回一个元素)find_elements_by_xpath (返回一个包含元素的列表)find_elements_by_link_text (根据连接文本获取元素列表)find_elements_by_partial_link_text (根据链接包含的文本获取元素列表)find...

2018-11-24 23:29:57 576

原创 selenium的基本使用

加载网页:selenium通过控制浏览器,所以对应的获取的数据都是elements中的内容```pythonfrom selenium import webdriver # 指定driver的绝对路径# driver = webdriver.PhantomJS(executable_path='/home/worker/Desktop/driver/phantomjs') d...

2018-11-24 23:27:52 135

原创 线程池和协程池实现爬虫

协程池模块使用介绍协程池模块 import gevent.monkey gevent.monkey.patch_all() from gevent.pool import Pool# coding=utf-8import gevent.monkeygevent.monkey.patch_all()from gevent.pool import Poolimport r...

2018-11-24 23:24:21 261

原创 线程池实现爬虫

线程池使用方法介绍 实例化线程池对象 from multiprocessing.dummy import Pool pool = Pool(processes=3) # 默认大小是cup的个数 """源码内容: if processes is None: processes = os.cpu_count() or 1 # 此处or的用法: ...

2018-11-24 23:22:40 239

原创 多进程爬虫

多进程程的方法使用from multiprocessing import Process #导入模块t1 = Process(targe=func,args=(,)) #使用一个进程来执行一个函数t1.daemon = True #设置为守护进程t1.start() #此时线程才会启动多进程中队列的使用多进程中使用普通的队列模块会发生阻塞,对应的需要使用multiproce...

2018-11-24 23:20:27 163

原创 多线程爬虫

多线程的方法使用在python3中,主线程主进程结束,子线程,子进程不会结束为了能够让主线程回收子线程,可以把子线程设置为守护线程,即该线程不重要,主线程结束,子线程结束t1 = threading.Thread(targe=func,args=(,))t1.setDaemon(True) # 设置为守护线程t1.start() #此时线程才会启动队列模块的使用from...

2018-11-24 23:18:48 157

原创 单线程爬虫实现

# coding=utf-8import requestsfrom lxml import etreeimport timeclass QiuBai: def __init__(self): self.temp_url = "http://www.qiushibaike.com/8hr/page/{}" self.headers = {"User...

2018-11-24 23:16:17 235

原创 lxml模块

lxml模块的入门使用 导入lxml 的 etree 库 (导入没有提示不代表不能用) from lxml import etree 利用etree.HTML,将字符串转化为Element对象,Element对象具有xpath的方法,返回结果的列表,能够接受bytes类型的数据和str类型的数据 html = etree.HTML(text) ret_list =...

2018-11-22 19:10:43 726

原创 数据提取之xpath

xpath中节点选择的工具Chrome插件 XPath Helper 下载地址:https://pan.baidu.com/s/1UM94dcwgus4SgECuoJ-Jcg 密码:337b 把文件的后缀名crx改为rar,然后解压到xpath_.... 把解压后的文件夹拖入到已经开启开发者模式的chrome浏览器扩展程序界面 重启浏览器 Firefox插件 XPath C...

2018-11-22 19:07:49 263

原创 数据提取之正则

re模块的常见方法re.match(从头找一个) re.search(找一个) re.findall(找所有) 返回一个列表,没有就是空列表 re.findall("\d","chuan1zhi2") >> ["1","2"] re.sub(替换) re.sub("\d","_","chuan1zhi2") &am

2018-11-22 19:05:39 232

原创 数据的提取方法

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互。json相关的方法(load loads dump dumps)具体使用方法:import jsonmydict = { "store": { ...

2018-11-22 19:03:22 1140

原创 爬虫中数据的分类

爬虫中数据的分类在爬虫爬取的数据中有很多不同类型的数据,我们需要了解数据的不同类型来又规律的提取和解析数据.结构化数据:json,xml等 处理方式:直接转化为python类型 非结构化数据:HTML 处理方式:正则表达式、xpath ...

2018-11-22 18:57:46 1417

原创 requests模块

爬虫中使用cookie为了能够通过爬虫获取到登录后的页面,或者是解决通过cookie的反扒,需要使用request来处理cookie相关的请求requests处理cookie的方法使用requests处理cookie有三种方法:cookie字符串放在headers中 把cookie字典放传给请求方法的cookies参数接收 使用requests提供的session模块co...

2018-11-22 18:55:55 198

原创 requests模块

使用requests发送POST请求登录注册( POST 比 GET 更安全) 需要传输大文本内容的时候( POST 请求对数据长度没有要求)所以同样的,我们的爬虫也需要在这两个地方回去模拟浏览器发送post请求1.1 requests发送post请求语法: 用法: response = requests.post("http://www.baidu.com/", \...

2018-11-22 18:52:00 160

原创 requests模块

  requests的作用发送网络请求,返回响应数据中文文档 : http://docs.python-requests.org/zh_CN/latest/index.htmlrequests模块发送简单的get请求、获取响应需求:通过requests向百度首页发送请求,获取百度首页的数据import requests # 目标urlurl = 'https://www...

2018-11-22 18:49:14 181

原创 Vim(文本编辑器)、Sublime编辑器

1.Vim介绍vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。尽管在Linux上也有很多图形界面的编辑器可用,但 vi 在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。vi 编辑器通常被简称为vi,而 vi 又是 visual editor 的简称. 可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根...

2018-07-13 22:30:02 596

原创 常用服务器FTP、ssh、scp

1.常用服务器FTP1.1.FTP介绍FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)...

2018-07-13 22:27:04 442

原创 Linux 终端命令(gzip,bzip2,zip,unzip,chmod,sudo -s,passwd,exit,who,reboot,shutdown)二

1.文件压缩解压:gziptar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。gzip使用格式如下:gzip [选项] 被压缩(解压)文件常用选项:选项含义-d解压1. 文件压缩解压:bzip2tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。tar只负责打包文件,但不...

2018-07-13 22:26:46 384

原创 Linux 终端命令(重定向,gedit,more,管道,cat,grep,find,tar)一

1. 输出重定向命令:> 和 >>Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。1.1 >和>> 与 ls 配合使用1.2 >和>> 与 tree 配合使用1. 文本编辑器:gedit这是 Linux 下的一个纯文本编辑器,但你也可以把它用来当成是一个集成开发环境 (IDE), 它会根据不同的语言高亮显现...

2018-07-13 22:26:27 1596

原创 Linux常用命令(ls,clear,cd,pwd,mkdir,tree,touch,rm,cp,mv)

Linux常用命令(ls,clear,cd,pwd)1.查看文件信息:lsls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令。Linux文件或者目录名称最长可以有265个字符,“.”代表当前目录,“..”代表上一级目录,以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示。示例:# 查看当前目录的文件信息ls .# 查看上一级...

2018-07-12 20:29:18 2560

原创 常用 Linux 命令的基本使用

常用 Linux 命令的基本使用序号命令对应英文作用01lslist查看当前文件夹下的内容02pwdprint wrok directory查看当前所在文件夹03cd [目录名]change directory切换文件夹04touch [文件名]touch如果文件不存在,新建文件05mkdir [目录名]make directory创建目录06rm [文件名]remove删除指定的文件名07cle...

2018-07-12 20:23:11 143

原创 文件和目录

01. 单用户操作系统和多用户操作系统(科普)单用户操作系统:指一台计算机在同一时间 只能由一个用户 使用,一个用户独自享用系统的全部硬件和软件资源Windows XP 之前的版本都是单用户操作系统多用户操作系统:指一台计算机在同一时间可以由 多个用户 使用,多个用户共同享用系统的全部硬件和软件资源Unix 和 Linux 的设计初衷就是多用户操作系统02. Windows 和 Linux 文件系...

2018-07-12 20:11:01 181

原创 异常、模块

模块<1>Python中的模块有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt函数,必须用语句#include <math.h>引入math.h这个头文件,否则是无法正常进行调用的。那么在Python中,如果要引用一些其他的函数,该怎么处理呢?在Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要...

2018-07-12 20:07:32 207

原创 异常、模块

当Python检测到一个错误时,解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的"异常"<1>捕获异常 try...except...看如下示例:try: print('-----test--1---') open('123.txt','r') print('-----test--2---')except IOError: pass此程...

2018-07-12 20:04:50 271

原创 面向对象案例

应用:烤地瓜完整的代码如下:class SweetPotato: """这是烤地瓜的类""" # 定义初始化方法 def __init__(self): self.cookedLevel = 0 self.cookedString = "生的" self.condiments = [] # 定制print时的显示...

2018-07-12 20:01:09 1036

原创 面向对象:属性和方法

私有权限面向对象三大特性:封装、继承、多态封装的意义:将属性和方法放到一起做为一个整体,然后通过实例化对象来处理;隐藏内部实现细节,只需要和对象及其属性和方法交互就可以了;对类的属性和方法增加 访问权限控制。私有权限:在属性名和方法名 前面 加上两个下划线 __类的私有属性 和 私有方法,都不能通过对象直接访问,但是可以在本类内部访问;类的私有属性 和 私有方法,都不会被子类继承,子类也无法访问;...

2018-07-12 19:57:34 2093

原创 继承

程序中的继承在程序中,继承描述的是多个类之间的所属关系。如果一个类A里面的属性和方法可以复用,则可以通过继承的方式,传递到类B里。那么类A就是基类,也叫做父类;类B就是派生类,也叫做子类。# 父类class A(object): def __init__(self): self.num = 10 def print_num(self): prin...

2018-07-12 19:53:29 125

原创 魔法方法

__init__()方法class Hero(object): """定义了一个英雄类,可以移动和攻击""" # Python 的类里提供的,两个下划线开始,两个下划线结束的方法,就是魔法方法,__init__()就是一个魔法方法,通常用来做属性初始化 或 赋值 操作。 # 如果类面没有写__init__方法,Python会自动创建,但是不执行任何操作, # 如果...

2018-07-12 19:50:15 1093

原创 添加和获取对象的属性

添加和获取对象的属性class Hero(object): """定义了一个英雄类,可以移动和攻击""" def move(self): """实例方法""" print("正在前往事发地点...") def attack(self): """实例方法"&a

2018-07-12 19:48:19 247

原创 Linux(操作系统(介绍))

1. 操作系统(Operation System,OS)没有安装操作系统的计算机,通常被称为 裸机如果想在 裸机 上运行自己所编写的程序,就必须用机器语言书写程序如果计算机上安装了操作系统,就可以在操作系统上安装支持的高级语言环境,用高级语言开发程序1.1 操作系统的作用是现代计算机系统中 最基本和最重要 的系统软件是 配置在计算机硬件上的第一层软件,是对硬件系统的首次扩展主要作用是管理好硬件设备...

2018-07-09 19:35:05 1116

原创 类和对象、定义类、创建对象

类和对象面向对象编程的2个非常重要的概念:类和对象对象是面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另外一个新的概念——类类就相当于制造飞机时的图纸,用它来进行创建的飞机就相当于对象1. 类人以类聚 物以群分。具有相似内部状态和运动规律的实体的集合(或统称为抽象)。 具有相同属性和行为事物的统称类是抽象的,在使用的时候通常会找到这个类的一个具体的...

2018-07-09 19:35:00 4574

原创 面向对象(介绍)

面向对象编程介绍想一想请用程序描述如下事情:A同学报道登记信息B同学报道登记信息C同学报道登记信息A同学做自我介绍B同学做自我介绍C同学做自我介绍stu_a = { "name":"A", "age":21, "gender":1, "hometown":"河北"}stu_b = { "name&

2018-07-09 19:34:52 837

原创 综合应用:学生管理系统(文件版)

import timeimport os# 定一个列表,用来存储所有的学生信息(每个学生是一个字典)info_list = []def print_menu(): print("---------------------------") print(" 学生管理系统 V1.0") print(" 1:添加学生") print(" 2:删除学生...

2018-07-05 22:02:24 1430

原创 文件操作、综合应用(应用:批量修改文件名)

#coding=utf-8# 批量在文件名前加前缀import osfunFlag = 1 # 1表示添加标志 2表示删除标志folderName = './renameDir/'# 获取指定路径的所有文件名字dirList = os.listdir(folderName)# 遍历输出所有文件名字for name in dirList: print name ...

2018-07-05 22:01:17 262

原创 文件、文件夹的相关操作

有些时候,需要对文件进行重命名、删除等一些操作,python的os模块中都有这么功能1. 文件重命名os模块中的rename()可以完成对文件的重命名操作rename(需要修改的文件名, 新的文件名)import osos.rename("毕业论文.txt", "毕业论文-最终版.txt")2. 删除文件os模块中的remove()可以完成对文件的删除操作remove(待删除的文件名)impo...

2018-07-05 21:59:49 530

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除