自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (4)
  • 收藏
  • 关注

原创 2021-10-26

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-10-27 00:00:32 168

原创 Python3.6.x中内置函数总结

# -*- coding:utf-8 -*-"""abs() dict() help() min() setattr()all() dir() hex() next() slice()any() divmod()

2018-01-31 22:20:28 632 1

原创 Anaconda使用总结

管理镜像源# 显示配置信息,查看有哪些镜像源conda config --show# 添加镜像源# 清华镜像(linux-64)conda config --add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/'conda config --set show_channel_urls yes

2018-01-31 12:17:48 516

原创 Scrapy框架学习 - 使用Twisted框架实现异步存储数据到MySQL数据库中

概述以爬取豆瓣读书Top250排行榜为例。关键是使用Twisted框架的adbapi,创建数据库连接池对象,然后使用这个数据库连接池对象进行数据库操作, 这样就实现了数据存储的异步方案。核心代码如下: 1.使用Twisted中的adbapi获取数据库连接池对象。 参数“pymsql”为使用的数据库引擎名字,params与直接使用pymsql.connect(params)连接数据

2018-01-30 19:35:49 3159 1

原创 正则表达式必知必会(二)

使用子表达式什么是子表达式子表达式,通俗的叫法是 “分组”。把一个完整的正则表达式分解为一系列的小的表达式,这些小的表达式就是子表达式。子表达式的语法子表达式必须使用圆括号 () 括起来。 子表达式中可以使用竖线 | 表示逻辑或的操作。 可以将子表达式认为是一个拥有多个元素的特殊“字符”,支持重复匹配。 子表达式支持嵌套,允许多重嵌套。子表达式示例

2018-01-28 03:14:37 363

原创 正则表达式必知必会(一)

概述定义 正则表达式(Regular Expression,简称regex),是一种处理文本的工具,并不算得上是一门“语言”,可以理解为内嵌于其它语言中的“迷你语言”。用途 搜索,替换语法 正则表达式区分大小写; 由字符和具有特殊含义的元字符构成; 对于大部分的元字符,当要使用它们本身时,一般需要使用反斜线 \ 进行转义,\ 本身也是一个元字符,要搜索 \ 本身时,使用 \\

2018-01-26 21:10:24 608

原创 Python爬虫 - 使用requests和re模块爬取慕课网课程信息

分析使用requests和re模块爬取慕课网 “免费课程/数据库/“ 分类下的课程信息代码实现# !/usr/bin/env python# -*- coding:utf-8 -*-import reimport requestsimport osnum=0def crawl(url): global num base_url='https://ww

2018-01-26 01:44:26 2124

原创 Python中的OOP - 类中的几种函数或方法总结

概述实例方法使用实例调用时,默认传递实例本身到实例方法的第一个参数self使用类调用时,必须传递一个实例对象到实例方法的第一个参数静态方法使用实例调用和类调用效果相同;类方法装饰器版: 使用实例调用和类调用效果相同;classmethod(function)版: 在类中,尽量不要使用classmethod(function)实现类方法,会将其当做实例方法使

2018-01-25 04:12:52 1067

原创 Scrapy框架学习 - 扩展内置的ImagesPipeline实现图片下载

分析需求:下载斗鱼主播图片思路:使用Fiddler抓包工具,抓取斗鱼APP中关于主播信息的请求接口,响应数据为Json格式在items中定义Item,包含 image_urls 和 images 字段在spider中提取图片链接,保存到Item的 image_urls 字段中,返回Item在Pipeline中通过继承内置的ImagesPipeline类,扩展功能,实现自定义Im

2018-01-24 21:26:51 2854

原创 Scrapy框架学习 - 爬取西刺代理网免费高匿代理

分析需求: 爬取西刺代理网免费高匿代理,并保存到MySQL数据库中。 这里只爬取前10页中的数据。 思路:分析网页结构,确定数据提取规则创建Scrapy项目编写item,定义数据字段编写spider,实现数据抓取编写Pipeline,保存数据到数据库中配置settings.py文件运行爬虫项目代码实现items.pyimport scrapycla

2018-01-23 21:47:11 1184

原创 Scrapy框架学习 - 模拟登录的实现方式

使用Cookie模拟已登录状态import scrapyclass LoginByCookie(scrapy.Spider): """ 模拟登录方式一:直接使用cookie登录 登录慕课网 """ name = 'login_by_cookie' allowed_domains=['www.imooc.com'] st

2018-01-23 20:40:23 2538

原创 Pathon爬虫 - 登录的原理及其方式

原理登录一个网站,实际上就是服务器对客户端的身份识别过程。第一次登录的时候,一般需要验证用户名、密码或者秘钥等信息; 当再次登录时,如果客户端保存了Cookie信息,则服务器只需要验证Cookie或Session信息即可。模拟登录的方式通过对登录的原理的分析,可以得出两种登录方式:模拟填写Web表单的方式。通过向服务器发送登录需要的用户名和密码等表单数据,实现登录;直

2018-01-23 01:26:19 983

原创 Scrapy框架学习 - 常用的下载器中间件用法总结

Downloader Middleware(下载器中间件)包括Scrapy内置的下载器中间件和用户自定义的下载器中间件。内置下载器中间件的用法参考官方文档自定义下载器中间件,需要以下2步:定义下载器中间件,继承自object在settings.py文件中的DOWNLOADER_MIDDLEWARES 字段中配置,激活中间件User-Agent下载器中间件middl

2018-01-23 00:33:22 1436

原创 Scrapy框架学习 - 使用内置的ImagesPipeline下载图片

需求分析需求:爬取斗鱼主播图片,并下载到本地思路:使用Fiddler抓包工具,抓取斗鱼手机APP中的接口使用Scrapy框架的ImagesPipeline实现图片下载ImagesPipeline实现图片下载的使用方法:在items中的XxxItem中定义 image_urls 和 images字段在spider中将提取出来的图片链接保存到Item的 image_url

2018-01-22 22:43:17 6904

原创 Scrapy框架学习 - 常用命令行工具

scrapy scrapy –version scrapy version [-v] 查看版本信息,可选项 -v 参数查看各组件的版本信息 scrapy –help 查看帮助信息scrapy list 列出当前项目中所有的爬虫scrapy bench scrapy基准测试,用于检测scrapy安装环境是否完整scrapy view 创建给定url对应网页的真实响应的

2018-01-21 23:20:51 899

原创 使用正则表达式爬取古诗文网唐诗300首

思路先从唐诗300首页面获取所有唐诗详情页的链接; 再从每一首唐诗的详情页提取标题、作者、朝代、内容等信息。源码# !/usr/bin/env python# -*- coding:utf-8 -*-import reimport requestsdef crawl(start_url): base_url='http://so.gushiwen.org'

2018-01-21 02:28:59 3568 2

原创 使用requests库模拟登录豆瓣网并获取个人信息

分析首先分析登录时需要post哪些数据到服务器。 登录界面如图所示,验证码并不是一开始就需要输入的,而是尝试登录失败几次后才出现。所以,需要在代码中判断是否 需要输入验证码。 打开Chrome调试工具,使用错误的密码登录一次,可以看到以下信息:source:Noneredir:https://www.douban.com/people/88152161/form_email:

2018-01-21 00:24:25 4589

原创 Selenium库的基本用法总结

# !/usr/bin/env python# -*- coding:utf-8 -*-from selenium import webdriverfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common

2018-01-13 01:51:12 3397

原创 动态网站数据采集 - 去哪儿网火车票查询爬虫

分析在去哪儿网火车票查询页面,需要用户填写出发站、目的地站、出发时间等信息,然后,点击搜索按钮, 页面通过Ajax获取并显示查询结果数据。这里用Selenium+PhantomJS模拟这一过程。通过Selenium加载火车票查询页面,并获取到需要进行数据填充的3个输入框和进行数据提交的搜索按钮;模拟填充3个输入框数据,模拟点搜索按钮;从浏览器对象中获取到已经渲染完毕的HTM

2018-01-13 01:41:02 4054 1

原创 动态网站数据采集 - 时光网电影信息爬虫

分析由于时光网中电影的票房、排名等大部分信息是通过Ajax异步加载的,所以,使用常规的静态网站抓取技术, 无法获取到这些信息。要获取这些信息,必须从Ajax请求中查找。先点开一个正在上映的电影 《前任3》 首先,找到是哪个Ajax请求用于获取这些信息 发现,以下url返回了所需要的数据Ajax请求URLhttp://service.library.mtime.com/

2018-01-11 19:45:54 6359 1

原创 Python操作MongoDB数据库 - pymongo库的基本用法

# !/usr/bin/env python# -*- coding:utf-8 -*-"""使用pymongo库操作MongoDB数据库"""import pymongo# 1.连接数据库服务器,获取客户端对象mongo_client=pymongo.MongoClient('localhost',27017)# 2.获取数据库对象db=mongo_client.my

2018-01-10 23:45:30 17603

原创 Python操作MySQL数据库 - PyMySQL库的基本用法

# !/usr/bin/env python# -*- coding:utf-8 -*-"""使用PyMySQL操作MySQL数据库 安装库: pip3 install PyMySQL 支持的版本: python>=2.6,或者python>=3.3 mysql>=4.1 数据库语句 create databas

2018-01-10 17:19:23 1316

原创 MySQ必知必会 - 用户与权限管理

MySQL用户账户信息保存在名为mysql的数据库中的名为user的表中。获得所有用户列表user mysql;select user from user;创建用户账户create user 用户名 identified by '密码';修改用户名称rename user 旧用户名称 to 新用户名称;修改用户密码修改其它用户的密码set pa

2018-01-10 15:48:30 1155

原创 MySQL必知必会 - 安装MySQL数据库

Ubuntu下安装MySQL数据库安装,依次执行以下3条命令sudo apt-get install mysql-serversudo apt-get install mysql-clientsudo apt-get install libmysqlclient-dev验证是否安装成功,执行命令sudo netstat -tap | grep mysql输出如下,表示安装成功配置文件路径/etc/...

2018-01-09 15:22:57 1297

原创 Python命名空间总结 - “命名空间之禅”

Python中的命名空间,在使用点号 .和不使用点号 .两种情况下使用变量名时,会有不同的处理方式。1.不使用点号——“LEGB法则”赋值语句 var=value仅仅是创建或改变当前作用域变量名,除非使用了global或者nonlocal关键字引用语句 var搜索路径如下:L(local): 在当前作用域下搜索变量名varE: 在所有嵌套函数中搜索,从内到外

2018-01-09 03:07:30 1188

原创 Python中的OOP - 抽象超类的3种实现方式

与其它面向对象语言一样,Python也支持抽象超类,一般用于接口设计中。实现方式一::抛出异常在父类中,在需要由子类实现的方法(“抽象方法”)中,抛出NotImplementedError异常。子类实例调用该方法前,子类必须先实现(重写),否则,发生异常。代码如下# !/usr/bin/env python# -*- coding:utf-8 -*-class

2018-01-09 02:05:29 2539

原创 Python爬虫完整案例 - 爬取百度百科词条信息

概述一个完整的爬虫,一般由以下5个组件构成:1.URL管理器负责维护待爬取URL队列和已爬取URL队列,必须拥有去重功能。2.HTML下载器负责根据调度器从URL管理器中取出的url,下载html页面数据3.HTML解析器负责解析HTML下载器下载的网页数据,从中提取新的url和目标数据,并将其返回4.数据存储器负责将HTML下载器返回的的数据保存到本地或数据库

2018-01-08 17:16:27 5146 2

原创 Python邮件功能 - 使用163邮箱SMTP服务器发送邮件

概述Python发送邮件主要用到smtplib和email两个模块,其中smtplib负责发送邮件,email负责构建邮件内容。使用Python可以发送简单文本邮件、HTML格式的文件、带附件的邮件等。这里使用163邮箱的smtp服务器从163邮箱发送简单文本邮件到其它邮箱为例,详情见代码。这是博客园中的一篇文章,总结的很全首先需要拥有一个163邮箱账号,需要注意的是,需要

2018-01-08 13:51:33 6295 1

原创 使用urllib库的urlretrieve()方法下载网络文件到本地

概述见源码源码# !/usr/bin/env python# -*- coding:utf-8 -*-"""图片(文件)下载,核心方法是 urllib.urlrequest 模块的 urlretrieve()方法 urlretrieve(url, filename=None, reporthook=None, data=None) url: 文件u

2018-01-08 01:35:19 4646

原创 Python多进程 - 进程间通信

1. 使用multiprocessing模块创建的进程之间的通信# -*- coding:utf-8 -*-"""Queue类常用属性和方法: __init__(self, maxsize=-1) qsize(), full() empty() put(obj, block=True, timeout=None) put_nowait(ob

2018-01-05 15:37:52 1318

原创 Python多进程 - 实现多进程的几种方式

方式一: os.fork()# -*- coding:utf-8 -*-"""pid=os.fork() 1.只用在Unix系统中有效,Windows系统中无效 2.fork函数调用一次,返回两次:在父进程中返回值为子进程id,在子进程中返回值为0"""import ospid=os.fork()if pid==0: print("执行子进程,子进程

2018-01-05 15:31:27 24867

原创 Python多线程 - 使用TheadLocal传递参数

# -*- coding:utf-8 -*-"""一个ThreadLocal变量虽然是全局变量,但每个线程都只能读写自己线程的独立副本,互不干扰。ThreadLocal解决了参数在一个线程中各个函数之间互相传递的问题。"""import threading# 获取ThreadLocal实例local_var=threading.local()def show(): p

2018-01-05 15:16:21 4528

原创 Python多线程 - 线程间通信之“Queue队列”

# -*- coding:utf-8 -*-"""“生产者-消费者”案例queue.Queue put(item,block=True,timeout=None) get(block=True,timeout=None) full() empty() qsize()"""import timefrom threading import Th

2018-01-05 15:10:36 2085

原创 Python多线程 - 线程同步之“Lock锁”

# -*- coding:utf-8 -*-"""Lock acquire() release()"""import timefrom threading import Thread,Lockvar=0def worker(lock): global var lock.acquire() # 上锁 for i in [1,2,3

2018-01-05 14:57:44 675

原创 Python多线程 - 使用threading模块实现多线程的 3 种方式

方式一: 创建Thread的实例,并给它传递一个函数对象# -*- coding:utf-8 -*-import threadingimport timeloops=[4,2]def loop(nloop,nsec): print("starting loop"+str(nloop)+" at "+time.ctime()) time.sleep(nsec)

2018-01-05 14:47:00 1265

原创 Python多线程 - 使用_thread模块实现多线程

# -*- coding:utf-8 -*-import _threadimport timeloops=[4,2]def loop(nloop,nsec,lock): print("starting loop"+str(nloop)+" at "+time.ctime()) time.sleep(nsec) print("loop"+str(nloop)+"

2018-01-05 14:34:07 675

原创 urllib库学习 - 百思不得姐段子爬虫

概述使用urllib和re模块爬取百思不得姐段子源码# !/usr/bin/env python# -*- coding:utf-8 -*-"""\w+?"""import urllib.requestimport redef crawl(): base_url='http://www.budejie.com/text/' for page i

2018-01-05 13:52:23 673

原创 urllib库学习 - 好123网址链接爬虫

概述核心是网址链接的正则表达式,如下:r'(\w+?)'源码# !/usr/bin/env python# -*- coding:utf-8 -*-import urllib.requestimport redef crawl(): url='https://www.hao123.com/' headers={ 'User-Agent'

2018-01-05 11:31:17 663

原创 urllib库学习 - 京东商城手机图片爬虫

概述使用urllib和re模块爬取京东商城手机分类下的所有图片思路:1.通过for循环控制每一页的爬取,并组合每一页的urlurl="https://list.jd.com/list.html?cat=9987,653,655&page="+page2.爬取每一页中的数据,通过正则提取其中所有图片的url提取规则:2.1 先提取包含手机商品的列表part1=r'.+

2018-01-05 00:50:00 658

原创 Python文件读写常见用法总结

1. 读取文件# !/usr/bin/env python# -*- coding:utf-8 -*-"""文件读取三步骤: 1.打开文件 f=open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True) mode:

2018-01-01 15:44:01 735

精通Python设计模式

本书分三部分、共16章介绍一些常用的设计模式。第一部分介绍处理对象创建的设计模式,包括工厂模式、建造者模式、原型模式;第二部分介绍处理一个系统中不同实体(类、对象等)之间关系的设计模式,包括外观模式、享元模式等;第三部分介绍处理系统实体之间通信的设计模式,包括责任链模式、观察者模式等。

2019-03-20

Django 2 by Example中文版

第一部分 - 创建一个博客应用; 第二部分 - 构建一个社交网站 第三部分 - 创建一个在线商城 第四部分 - 构建一个在线学习平台 第五部分 - 创建restful api

2019-03-20

Python3.4官方入门指南

Python3.4官方入门指南,入门必看的书籍,基于Python3.x

2017-10-14

Python3简明教程(中文版).pdf

很不错的Python3零基础入门教程,学完这本书,就可以对Python语法有大概的了解了。

2017-10-13

空空如也

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

TA关注的人

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