自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创

1、树是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。 它是由n(n>=1)个有限节点组成一个具有层次关系的集合 它看起来像一棵倒挂的树,根朝上,叶朝下。特点: 每个节点有零个或多个子节点; 没有父节点的节点称为根节点; 每一个非根节点有且只有一个父节点; 除了根节点外,每个子节点可以分为多个不相交的子树;节点的度:一个节点含有的子...

2018-09-14 10:08:05 148

原创 二分查找

二分查找法优点:比较次数少,查找速度快,平均性能好;缺点:要求待查表为有序表,且插入删除困难。使用场景:适用于不经常变动而查找频繁的有序列表原理:假设要搜索的表中元素是按升序排列a、将表中间位置记录的关键字与查找关键字比较b、如果两者相等,则查找成功;c、否则利用中间位置记录将表分成前、后两a个子表d、如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否...

2018-09-14 09:40:02 175

原创 selenium-02-selenium执行js脚本

from selenium import webdriverimport timedriver = webdriver.Chrome()driver.get('https://search.jd.com/Search?keyword=iphone8&enc=utf-8&suggest=4.def.0.V16&wq=iphone&pvid=c7ae27e0d8...

2018-09-13 15:40:53 1382

原创 爬虫13-爬去喜马拉雅音频

 import requestsfrom lxml import etreeimport json'''爬去喜马拉雅音频的有声文学类中的大宅门的音频url是https://www.ximalaya.com/youshengshu/14495260/'''url = 'https://www.ximalaya.com/youshengshu/14495260/'headers ...

2018-09-13 15:05:03 544

原创 selenium-01-selenium的简单使用

 selenium模拟浏览器打开页面,获取页面资源from selenium import webdriverimport timeimport os# driver = webdriver.PhantomJS()# 构建处理器对象 Phantommjs是一个无界面的浏览器driver = webdriver.Chrome()driver.get('http://www.baid...

2018-09-13 11:31:40 171

原创 网络的相关知识

1、http和httpshttp(HyperText Transfer Protocol):称为超文本传输协议,是一个基于 TCP/IP 通信协议来传递数据,一个属于应用层的协议浏览器作为 HTTP 客户端通过 URL 向 HTTP 服务端即 WEB 服务器发送所有请求。Web 服 务器根据接收到的请求后,向客户端发送响应信息。HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端...

2018-09-12 22:35:29 219

原创 排序算法

1、冒泡排序冒泡排序(英语:Bubble Sort)是一种简单的排序算法。 它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。 直到没有再需要交换,该数列排序完成升序排序过程 比较相邻的元素。如果第一个比第二个大,就交换他们两个 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 针对所有的元素重复以上的步骤,除了...

2018-09-11 17:51:25 191

原创 双向链表

class Node(object): #节点的类 def __init__(self,item): self.item = item self.prev = None self.next = Noneclass DLinkList(object): #双向链表的类 def __init__(self): ...

2018-09-10 22:10:52 133

原创 单向链表

"""__title__ = ''__author__ = 'Thompson'__mtime__ = '2018/6/14'# code is far away from bugs with the god animal protecting I love animals. They taste delicious. ┏┓ ┏┓ ...

2018-09-10 21:29:47 132

原创 mongodb

1、创建用户创建一个超级用户use admindb.createUser(  {    user: "name",    pwd: "name123",    roles:    [      {        roles: "userAdminAnyDatabase",        db: "admin"      }    ]  })超级用户的role有两种,...

2018-09-10 19:47:38 172

原创 pandas基础使用

Pandas是一个强大的分析结构化数据的工具集,基于NumPy构建,提供了高级数据结构和数据操作工具,它是使Python成为强大而高效的数据分析环境的重要因素之一1、pandas的数据结构(1)SeriesSeries是一种类似于一维数组的对象,组成:一组数据(各种NumPy数据类型)一组与之对应的索引(数据标签)索引(index)在左,数据(values)在右索引是自...

2018-09-10 09:14:16 481

原创 matplotlib基础使用

1、matplotlib简介Python 的 2D绘图库,为Python构建一个Matlab式的绘图接口,通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等2、matplotlib的使用(1)折线图import matplotlib.pyplot as pltimport numpy as npfig = plt....

2018-09-09 21:24:10 262

原创 numpy基础使用

# 数据分析的基础步骤:数据收集,数据处理,数据分析,数据展现# numpy的安装 pip install numpy# pandas的安装 pip install pandas# Matplotlib的安装:pip install matplotlib## jupeter notebook是ipython的升级版 一个Web应用程序 界面更友好 功能也更强大。# 可创建和共享代码 ...

2018-09-09 20:16:18 327

原创 爬虫12-scrapy框架settings的解读

BOT_NAME默认: 'scrapybot'当您使用 startproject 命令创建项目时其也被自动赋值。CONCURRENT_ITEMS默认: 100Item Processor(即 Item Pipeline) 同时处理(每个 response 的)item 的最大值。CONCURRENT_REQUESTS默认: 16Scrapy downloader 并...

2018-09-09 16:34:45 231

原创 爬虫11-scrapy突破反爬虫策略

想要改变scrapy框架的IP和User-Agent,需要改变爬虫的中间件,scrapy常用的中间件有下载中间件和Spider中间件1、User-Agent(1)fake-useragent的安装:pip install fake-useragent用法:from fake_useragent import UserAgentua = UserAgent()print(ua....

2018-09-09 16:25:21 449

原创 爬虫05-ajax

获取ajax数据获取上海证券交易所的数据 url = 'http://www.sse.com.cn/market/price/report/'打开页面,检查页面源代码,发现页面数据时ajax加载的,分析请求头,获取数据接口,请求头的数据:callback: jQuery111208931742373497886_1536390774668select: code,name,op...

2018-09-09 15:52:52 495

原创 爬虫10-爬虫的去重

python爬虫的去重策略1、将访问过的url保存到数据库中2、将访问过的url保存到set中优点:只需要 o(1)的代价就可以查询 URL缺点:对内存要求高。若有 1 亿网页,则占用内存为:1000000000*2byte*50 个字符/1024/1024/1024 = 9G3、URL 经过 md5 等方法哈希后保存到 set 中优点:可以成倍降低内存占用,Scrapy ...

2018-09-08 21:09:13 369

原创 爬虫09-多线程爬虫

import threadingfrom queue import Queueimport requestsfrom lxml import etreeimport jsonimport os# 线程类 用于爬取页面的数据class ThreadCrawl(threading.Thread): # 定义请求头 def __init__(self, thread...

2018-09-08 20:12:11 179

原创 爬虫07-selenium和PhantomJS

1、seleniumselenium的安装 ,pip install selenium;Selenium 是一个 Web 的自动化测试工具,类型像我们玩游戏用的按键精灵,它支持所 有主流的浏览器。Selenium 可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏。2、PhantomJSPhantomJS 是一个基于 Webkit 的“无界面”(headless)浏...

2018-09-08 19:38:16 149

原创 爬虫06-requests模块

1、requests的简单使用import requestsresponse = requests.request('get', 'http://www.baidu.com/')# response = requests.get('http://www.baidu.com/')# 返回字节流数据content = response.content# print(content.d...

2018-09-08 16:27:14 144

原创 爬虫04-cookie的相关操作

cookie模拟登录人人网获取登录时的cookie信息,然后模拟登录from urllib import requestimport chardetheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)' ...

2018-09-07 14:39:41 217

原创 爬虫03-get和post请求

url的编码与解码 运行结果:title=%E5%A4%A9%E7%8C%AB%E5%95%86%E5%9F%8Etitle=天猫商城 get请求一般用于向服务器获取数据, 以百度贴吧为例,在 https://tieba.baidu.com/f?后面我们可以看到一连串的参数,其中就包含们要查询的关键词,于是我们可以尝试用默认的 Get 方式来发送请求。​from...

2018-09-07 11:29:58 190

原创 爬虫02-代理IP和伪造用户代理

在爬取数据的过程中,我们会经常遇到一些反爬机制,常见的反爬机制有:1、封杀爬虫程序2、封杀指定IP3、封杀非人操作的程序4、验证码等在不同的浏览器发送请求的时候,会有不同的User-Agent头,服务器通过查看User-Agent来判断谁在访问上一节我们用urllib来获取网页数据,urllib中默认的User-Agent中会有python的字样,服务器可以通过检查UA将我...

2018-09-07 10:55:00 531

原创 爬虫01-一个简单的爬虫

什么是爬虫?爬虫就是按照一定的规则,自动的抓取互联网信息的程序或者脚本,爬虫分为通用爬虫、聚焦爬虫、增量式爬虫、深度爬虫下面是一个简单的爬虫from urllib import requestfrom chardet import detectresponse = request.urlopen('http:www.baidu.com')html = response.read...

2018-09-07 10:40:18 449

空空如也

空空如也

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

TA关注的人

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