自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis

REmote DIctionaryServer(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。通常被称为数据结构服务器,因为值(value)可以是字符串(String), 哈希(Map), 列表(list), 集合(sets)和 有序集合(sorted sets)等类型1.下载Redishttps://github.com/MicrosoftArch...

2018-06-01 14:42:06 236

原创 Scrapy--设置代理ip

本次使用的代理Ip是蘑菇代理,数据库是redis1.settings配置"""REDIS 配置链接"""REDIS_URL = "redis://127.0.0.1:6379"RETRY_TIMES = 22.写入工具类import requestsimport jsonimport timeimport redisfrom 项目名.settings import REDIS_URL...

2018-06-01 14:29:36 4206 2

原创 Ubuntu下安装Python虚拟环境

1.安装 virtualenvwrapper:pip install virtualenvwrapper默认 virtualenvwrapper 安装在 /usr/local/bin 下面2. 接着创建一个文件夹来存放虚拟环境,如:mkdir $HOME/.virtualenvs3.需要配置下 ~/.bashrc,将 virtualenv 添加进去export WORKON_HOME=$HOME/...

2018-05-21 17:44:10 444

原创 Ubuntu下安装Python环境

ubuntu本身是有Python2.7版本的,但是不同版本的ubuntu中的Python3的版本是不同的,此处安装的是Python3.6版本1. 安装python36(非必需)  在终端中输入下面的命令wget http://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz tar -xvzf Python-3.6.4.tgz cd Pyth...

2018-05-21 17:12:28 552

原创 数据库--概论

我所学的数据库中有关系型数据库sqlite,SQLServer和MySQL,NoSql数据库Redis和MongoDB关系型数据库  关系型数据库是建立在关系模型基础上的数据库,借助于集合袋鼠等数据概念和方法来处理数据库中的数据。 特点如下: 数据以表格的形式出现每行为各种记录名称 每列为记录名称所对应的数据域许多的行和列组成一张表单若干的表单组成databa...

2018-05-21 11:23:27 313

原创 基于python的-布隆去重的方式

# -*- coding:utf-8 -*-""" 布隆去重的方式:1.使用scrapy自带的set集合去重,当程序结束set集合会被清空,再次运行会导致数据重复2.使用mysql做去重,对url地址进行MD5,Base64加密,加密之后会得到一串字符,判断字符串是否在mysql表中,如果在表示已经爬取过,如果不在,表示没有爬取,执行请求,将加密后的url地址存入表中3.使用sc...

2018-03-27 14:31:44 592

原创 基于python的-scrapy数据流

# -*- coding:utf-8 -*-"""Scrapy中的数据流由执行引擎控制,其过程如下: 1. 引擎打开一个网站(open a domain),找到处理该网站的Spider并向该spider请求第一个要爬取的URL(s)。 2. 引擎从Spider中获取到第一个要爬取的URL并在调度器(Scheduler)以Request调度。 3. 引擎向调度器请求下...

2018-03-27 14:31:17 599

原创 基于Python的-scrapyd部署爬虫流程

1. 打开命令窗口,新建一个虚拟环境:Mkvirtualenv --python=D:\python36\python.exe 虚拟环境名2. 安装scrapy项目中所需要的包:例如pip install scrapy如果缺少win32 要进行pip install pywin32安装3.  安装scrapyd服务:pip install scrapyd4. 输入scrapyd,启动服务, 在浏览...

2018-03-27 14:30:20 748

原创 基于python的-异步写入mysql步骤

# -*- coding:utf-8 -*-'''使用异步存储的原因: 同步:写入数据速度比较慢,而爬虫速度比较快,可能导致数据最后写入不到数据库中 异步:是将爬虫的数据先放入一个连接池中,再同时将连接池的数据写入到数据库中,这样既可以 提高数据库的写入速度,同时也可以将爬取到的所有数据都写入进数据库,能保证数据的完整性''''''异步写入流程1....

2018-03-27 14:29:23 3768

原创 基于python的-mysql基本用法

# -*- coding:utf-8 -*-import pymysql# 1. 链接数据库db = pymysql.connect( # 链接的数据库的host主机地址:默认本地数据库使用localhost或者127.0.0.1,如果是 # 远程数据库,需要设置为主机的ip地址 host = 'localhost', # 链接数据库的用户名 us...

2018-03-27 14:28:50 245

原创 基于python的-PIL定位截图

# -*- coding:utf-8 -*-from selenium import webdriverfrom selenium.webdriver.support.ui import WebDriverWait# 安装PIL包# pip install pillowfrom PIL import Imagedriver = webdriver.Firefox()driver....

2018-03-27 14:28:24 7097 2

原创 基于python的-selenium等待操作

# -*- coding:utf-8 -*-import timefrom selenium import webdriver# 引入显式等待类WebDriverWaitfrom selenium.webdriver.support.ui import WebDriverWaitdriver = webdriver.Firefox()driver.get('http://www.b...

2018-03-27 14:27:48 175

原创 基于python的-selenium批量查找标签

# -*- coding:utf-8 -*-from selenium import webdriver# 引入byfrom selenium.webdriver.common.by import By# element 返回的是标签# elements 返回的是列表,里面是标签driver = webdriver.Firefox()# 打开网页driver.get('htt...

2018-03-27 14:27:07 2829

原创 基于python的-selenium的基本用法

# -*- coding:utf-8 -*-''' selenium 是一个用于web应用程序测试的工具,提供一些函数,通过这些函数可以定位操作到指定的标签,这些定位标签的API函数都是用python实现的,框架底层是通过javascript实现的,完全模拟人工操作使用selenium做爬虫的目的: 有些网站通过动态加载数据的方式来展示数据,这些网站在正常发起请求的情况下...

2018-03-27 14:26:28 592

原创 基于python的-requests模块

# -*- coding:utf-8 -*-# requests 网络请求包,基于urllib封装第三方请求包# pip install requesrs 下载包import requests# 支持所有类型的请求# requests.get()# requests.post()# requests.delete()# requests.put()# requests.hea...

2018-03-12 17:44:40 374

原创 基于python的-bs4的基本用法

# -*- coding:utf-8 -*-# 需要下载bs4包 pip install bs4from bs4 import BeautifulSoupimport codecs# beautifulSoup 是python支持的一个第三方的包,作用就是用来解析html网页,提取数据# lxml第三方的解析包,解析html速度比较快,功能强大,底层是c语言实现的# 1.html源...

2018-03-12 17:42:22 2835

原创 基于python的-爬取糗事百科(工具类)

# -*- coding:utf-8 -*-import reimport sqlite3class Tools(object): @classmethod def strip_char(cls, string): ''' :param string: 要进行处理的数据 :return: 处理之后的数据 ''...

2018-03-12 17:41:45 175

原创 基于python的-爬取糗事百科(主文件)

# -*- coding:utf-8 -*-import refrom urllib import requestfrom tools import Tools,DBManagerimport timeclass QSBKSpider(object): def __init__(self): self.url = 'https://www.qiushibai...

2018-03-12 17:41:18 178

原创 基于python的-爬取内涵段子

# -*- coding:utf-8 -*-import refrom urllib import request, parsefrom random import choiceimport xlwtfrom tools import Toolsclass NeiHanSpider(object): def __init__(self): self.url =...

2018-03-12 17:38:45 265

原创 基于python的-使用正则爬取智联招聘网

#coding:utf-8import refrom urllib import request,parse# xlwt 操作excel表格import xlwtfrom random import choice'''https://sou.zhaopin.com/jobs/searchresult.ashx?kw=python&sm=0&p=1https://s...

2018-03-06 20:58:57 560

原创 基于python的-使用正则表达式验证手机号

# -*- coding:utf-8 -*-import re# 验证手机号是否正确phone_pat = re.compile('^(13\d|14[5|7]|15\d|166|17[3|6|7]|18\d)\d{8}$')while True: phone = input('请输入您的手机号:') res = re.search(phone_pat, phone...

2018-03-06 20:56:34 15001 3

原创 基于python的-正则模式

# -*- coding:utf-8 -*-import restring = ''' aaaaaa ssss dd f aasd'''# re.S 作用就是会将大字符串中的换行符看做一个普通的字符进行处理,这样\n也可以匹配到pattern = re.compile('a.*?d', re.S)res = re.searc...

2018-03-06 20:56:08 103

原创 基于python的-正则中的函数

# -*- coding:utf-8 -*-import re# 1. match()# 2. search()string = 'hell8oworldhe8llo,h4e,hell,h6ool'pattern = re.compile('h.*?l')# -------------------------------------------------------------...

2018-03-06 20:55:36 112

原创 基于python的-正则表达式

# -*- coding:utf-8 -*-# re模块是python中内置的用啦支持正则表达式的模块import restring = 'hello world'# 1.准备正则pattern = re.compile('ello')# 2.使用正则表达式,从大字符串中搜索小字符串# match(正则表达式, 要进行查找的大字符串)# match() 如果找到结果,返回结...

2018-03-06 20:55:06 139

原创 基于python的-提升爬虫效率的方式

# -*- coding:utf-8 -*-"""显著提升爬虫效率的方式: 1. 换个性能更好的机器 2. 网络使用光纤 3. 多线程 4. 多进程 5. 分布式 6. 提升数据的写入速度""""""反爬虫的应对措施: 1. 随机修改User-Agent 2. 禁用Cookie追踪 3. 放慢爬虫速度 4...

2018-03-06 20:40:47 4331 1

原创 基于python的-scrapy框架使用步骤

# -*- coding:utf-8 -*-# scrapy的基本用法# 1. 通过命令创建项目# scrapy startproject 项目名称# 2. 用pycharm打开项目# 3. 通过命令创建爬虫# scrapy genspider 爬虫名称 域名# 4. 配置settings# robots_obey=False# Download_delay=0.5# ...

2018-03-06 20:40:01 203

原创 基于python的-scrapy框架的基本用法

# -*- coding:utf-8 -*-# spiders 该文件夹专门存放爬虫文件# items.py 用于存储爬虫的数据# middlewares.py 用于处理爬虫前的请求和响应,例如设置headers# pipelines.py 管道文件,在存储爬虫数据以前,会先穿过管道# settings.py 全局爬虫的配置文件,一般用于设置反反爬虫相关措施,数据库配置# scrap...

2018-03-06 20:39:11 206

原创 基于python的-反反爬虫手段

# -*- coding:utf-8 -*-import requests# 抓包工具# charles# fiddler# 参数1: url,填网址# 参数2: params,网址后需要添加的参数# 参数3: **kwargs,不定长键值对参数,一般key=value# 在参数3中,headers={},# cookies={} 或者cookieJar#...

2018-03-06 20:37:31 317

原创 基于python的-json解析爬取电影接口(存入html中)

# -*- coding:utf-8 -*-import requestsimport oscity = input("请输入城市:")url = "http://api.map.baidu.com/telematics/v3/movie?qt=hot_movie&location=郑州市&ak=TueGDhCvwI6fOrQnLM0qmXxY9N0OkOiQ&...

2018-02-28 21:24:02 1984

原创 基于python的-网页解析方式(xpath)

# -*- coding:utf-8 -*-""" 1.网页的解析方式 1) xpath(简单) 2) 正则(最难) 3) css(需要懂网页的css) 4) bs4(比xpath难一点点) 2.xpath的基本用法 1) 环境准备:火狐浏览器(版本不能太新) 附件:firebug...

2018-02-28 21:21:58 217

原创 基于python(xpath)的-爬取51job网信息(跳过User-Agent)

# -*- coding:utf-8 -*-import requestsfrom fake_useragent import UserAgentfrom lxml import etreeagent = UserAgent()url = "http://search.51job.com/list/010000%252C020000%252C030200%252C040000%252...

2018-02-28 21:20:53 402 1

原创 基于python的-Random_Agent

# -*- coding:utf-8 -*-import randomclass RandomAgent(object): agent_list = [ "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50...

2018-02-28 21:10:49 621

原创 基于python的-cookie

# -*- coding:utf-8 -*-import requests# Cookie: 小蛋糕,饼干# 特点:# 1.用于存储用户的某些信息# 2.只用于存储少量数据# 3.cookie是个文件,位于浏览器# url = "http://dig.chouti.com/"# response = requests.get(url)# print(response.cooki...

2018-02-28 21:08:22 160

原创 基于python的-get和post的区别

# -*- coding:utf-8 -*-# 面试题# GET和POST的区别# 1.参数位置# GET: 参数一般位于URL后面# POST: 参数一般位于请求体中# 2.数据长度# GET: 长度有限制# POST: 长度理论上没限制,实际上取决于服务器的处理能力# 3.安全性# POST相对于GET安全一些,但是两者都不安全# 例如 1...

2018-02-28 21:07:24 307

原创 基于python的-get和post请求

# -*- coding:utf-8 -*-# import urllib# import urllib2# import urllib3# import httpimport requests# 1. 使用requests发送get/post/put/delete等请求# GET参数# URL?参数1=内容1&参数2=内容2# 注意:参数部分不能出现空格或者特殊字...

2018-02-27 20:27:19 205

原创 基于python的-爬取风景图片网图片

# -*- coding:utf-8 -*-# 获取网页源码/下载网页/图片/视频/音频..import requests# 解析网页相关数据from lxml import etree# 操作文件夹/路径import os# 1.下载网页源码# 2.解析网页源码(难度比较大)# 3.存储相关数据url = "http://www.ivsky.com/tupian/...

2018-02-26 19:43:22 955

原创 基于python的-SQlite数据库练习

# -*- coding:utf-8 -*-import sqlite3connect = sqlite3.connect('test.db')cursor = connect.cursor()# 1,创建一个学生成绩表 Grades,学号 姓名 成绩 名次sql = 'CREATE TABLE Grades(num INTEGER PRIMARY KEY, name TEXT

2018-02-06 09:14:39 629

原创 基于python的-SQlite数据库

# -*- coding:utf-8 -*-# sqlite3是python中内置的一个轻量级的数据库# 数据库用来保存大量的,格式统一的数据,比如name,age,id,在数据库中一般会有多张# 表,将数据保存到表中import sqlite3# 数据库中有多张表,在表中存储的是数据''' 1.先连接到数据文件'''# 1.连接到数据库文件# 使用content()

2018-02-06 09:14:11 333

原创 基于python的-时间模块

# coding:utf-8# 时间 日期# datetime 日期 模块import datetime# datetime.datetime 这是模块中的类today = datetime.datetime.now()print(today)# from 模块 import 类\函数# 从datetime模块中 引入datetime这个类,这类中有一些函数可以使用from d

2018-02-06 09:13:17 133

原创 基于python的-内存管理

# -*- coding:utf-8 -*-# python 中是自动管理内存的# 自动管理内存编程语言,例如:object-c python# 手动管理内存编程语言,例如:C# Python 中的内存管理采用的'引用计数'的方式,如果一个对象的引用计数为0# 则该对象占用的内存会被python解释器清空,对象也会消失,如果一个对象的引用计数# 超过0,这个对象会一直存放在内存中

2018-02-05 13:12:34 425

空空如也

空空如也

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

TA关注的人

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