自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 头条爬取

# -*- coding:utf-8 -*-import requestsfrom urllib import parse, requestimport requestsimport osdef get_page(offset): params = { 'offset': offset, 'format': 'json', 'k...

2018-06-15 10:50:21 376

原创 python日志2018.3.2

import requestsfrom fake_useragent import UserAgentagent = UserAgent()num = 1while num<20: url = 'http://www.kfzj.com.cn/browse/category/%s'%num num += 1 headers = { 'User...

2018-06-15 10:49:23 240 1

原创 布隆去重

费劲吧啦的爬到了数据,在满心欢喜之前还有一关要过,那就是去重是滴,一万条数据重复一千次就只有十条有效数据了不要问我这个咋算的,我不会告诉你,总之这个时候就需要另一个英雄登场了布隆!!!!好吧,不是他,是另一个布隆去重https://github.com/liyaopinner/BloomFilter_imooc下载布隆过滤器,将其中的py_bloomfilter.py放到scrapy_redis包...

2018-06-15 10:47:34 418

原创 pyspider+MongoDB简单操作

#!/usr/bin/env python# -*- encoding: utf-8 -*-# Created on 2018-03-30 09:20:41# Project: IvskyDemofrom pyspider.libs.base_handler import *class MysqlWirter(object): def __init__(self): ...

2018-06-15 10:22:06 1569 1

原创 scrapy-redis代码实例

# -*- coding: utf-8 -*-import scrapyfrom ..items import BookListItem,BookDetailItem# 引入scrapy_redis中的爬虫类from scrapy_redis.spiders import RedisSpider# 修改爬虫类继承的父类为RedisSpiderclass YunqiSpider(Redi...

2018-06-15 10:18:15 463

原创 自己设置代理池

# -*- coding:utf-8 -*-import requestsimport pymysqlfrom fake_useragent import UserAgent# Selector 引入from scrapy.selector import Selector'''1.爬虫每次发起请求需要从代理池中提取一个可用代理,如果提取的代理不可用,从代理池中删除2.当代理池中的代...

2018-06-15 10:12:08 714

原创 scrapy框架写入json数据

# -*- coding: utf-8 -*-import scrapyfrom ..items import BookItemclass NovelSpider(scrapy.Spider): name = 'novel' allowed_domains = ['readnovel.com'] start_urls = ['https://www.readnove...

2018-06-15 10:01:41 942

原创 scrapy爬取网站返回json数据处理

# -*- coding: utf-8 -*-import scrapyimport jsonclass NeihanSpider(scrapy.Spider): name = 'neihan' allowed_domains = ['neihanshequ.com'] start_urls = ['http://neihanshequ.com/bar/1/?is_...

2018-06-15 09:57:14 15255

原创 MongoDB基础操作和pyspider

关系型数据库和非关系数据库的区别:简单来说,关系型数据库可以支持多表联查,回滚等菲关系型数据库,一般来说存储在内存中,以键值对方式存在。查东西比较快from pymongo import MongoClient# 向mongodb中插入数据的类class MongoWriter(object): def __init__(self): # 构造对象 s...

2018-06-08 17:53:41 469

原创 django-Redis缓存

http://django-redis-chs.readthedocs.io/zh_CN/latest/参考资料

2018-06-08 17:16:44 240

原创 线程、进程和协程 概念

把子线程变成主线程中的守护线程,当主线程结束后,子线程也会随之结束,一旦主线程代码执行完毕,程序就结束了如果没有添加守护线程,当主线程执行完毕之后,会等待子线程中的任务执行完成之后,再退出程序def run(num): # 在子线程中执行这个任务 print('任务:{}'.format(num)) if num == 1: time.sleep(10) ...

2018-06-08 16:57:53 128

原创 GitHub相关命令

git init 初始化git仓库git status 查看工作的状态git add filename 将文件的修改或添加 添加到缓存区git commit -m "提交描述" 将缓存区的修改,提交到版本仓库git log 查看当前版本下的所有提交日志git reflog 查看所有的git命令历史记录git reset --hard HEAD^ 回退到上一个版本  (HEAD^^上上版本...HE...

2018-06-07 18:25:55 126

原创 微信公众号连接

首先第一步是验证,需要配置验证路由在urls中url(r'^wechat/',wechat)然后在views视图中走验证的逻辑然后这里有一个csrf_token问题。所以需要导入一个包from django.http import HttpResponsefrom django.views.decorators.csrf import csrf_exemptfrom .messages im...

2018-06-05 17:57:34 312

原创 Nginx负载均衡

Nginx相当于一个服务器,中间件,等等,总之介于客户端和服务器中间的。所以可以做的事很多,比如缓存或者分配。做负载均衡的话分为以下几步:1.在etc/nginx/conf.d下面新建一个nginx.conf文件upstream backend{ #ip_hash; server 127.0.0.1:9701 weight=1; server 127.0.0.1:9702 weight=2;...

2018-06-05 16:29:40 232

原创 scrapy中pipeline的异步存储

import pymysql'同步写入数据速度比较慢,而爬虫速度比较快,可能导致数据最后写入不到数据库中''''1.引入twisted.enterprise.adbapi pymysql.cursors2.在settings中配置数据库连接参数3.创建pipeline,实现from_settings函数,从settings获取数据库连接参数,根据参数创建连接池对象,返回当前pipeli...

2018-06-04 16:30:30 2570

原创 scrapy中的settings设置

1.robots.txt协议ROBOTSTXT_OBEY = False需要激活并修改为FalseDOWNLOAD_DELAY = 0.5download_delay需要激活,并设置时间,降低爬取速度COOKIES_ENABLED = False禁用cookie追踪#SPIDER_MIDDLEWARES = {# 'IvskySpider.middlewares.IvskyspiderSp...

2018-06-04 16:29:57 898

原创 get请求和post请求

1.get请求的请求数据在URL中,post请求的请求数据在请求体中2.数据长度,get请求有长度限制,post请求的长度限制由服务器决定3.数据安全性,两者都不安全,但post相对安全一些4.应用场景不同,get请求一般用于访问页面,post请求一般用于上传数据response = requests.get( "https://www.baidu.com/s", params={...

2018-06-04 16:29:31 187

原创 scrapy 中间件重写,与selenium结合爬取动态页面

from scrapy.http.response.html import HtmlResponsefrom selenium import webdriverfrom selenium.webdriver.chrome.options import Options#自定义中间件class CustomMiddleware(object): def process_request(...

2018-06-04 16:29:16 2017

原创 多线程操作

进程,负责维护一个应用程序的启动及运行,一个应用程序的启动至少要保持一个进程,这个进程负责给任务指定县城,通过负责分配内存空间,是一个管理者。一个进程中至少存在一个线程,被称为主线程,除了主线程,还有一些分线程,线程就是用于同时执行多个任务的。线程是执行任务的最小单位,进程和线程是由操作系统来决定如何分配进程和线程。主线程,在进程中是唯一的,一般比较大量数据处理任务不会交给主线程来执行,一旦主线程...

2018-06-04 16:28:52 200

原创 ubuntu操作

编辑文件vim 文件名insert 简写为i,插入操作esc 退出,然后q,不保存wq保存。一、常用指令1. ls     显示文件或目录2.    -l  列出文件详细信息l(list)3.    -a  列出当前目录下所有文件及目录,包括隐藏的a(all)4. mkdir  创建目录5.    -p  创建目录,若无父目录,则创建p(parent)   6. cd     切换目录7. tou...

2018-06-04 16:27:59 157

原创 pycharm远程操作Ubuntu

打开tools——deployment——configuration创建一个sftp,name随便填填写Ubuntu服务器ip并测试,然后填写账号密码在mapping里填写项目的本地地址和服务器地址,也就是filezille上的地址,点击OK变更环境并创建然后还是在deployment中,选择第一个上传配置文件,然后选择倒数第二个,自动同步文件之后,在这里,选择host地址为0.0.0.0 也就是...

2018-06-02 18:02:04 610

原创 Nginx相关配置

重启Nginxsudo service nginx restart在etc/nginx/conf.d文件夹下创建django_nginx.conf文件,以连接django项目server { listen 8000; 这个是监听窗口 server_name 127.0.0.1; access_log /var/log/nginx/logi...

2018-06-02 17:34:23 93

原创 Ubuntu部署django项目

安装好python环境,安装nginx,安装uwsgi,安装SSH修改django项目中的配置文件settingsDEBUG = FalseALLOWED_HOSTS = ["*"]如果有静态文件static路径也需要配置一下。将项目通过filezilla传到Ubuntu上这个时候如果还需要修改文件的话,需要在filezilla上修改filezilla中编辑——设置——文件编辑,选择打开方式,进行...

2018-06-02 16:05:59 191

原创 Ubuntu下搭建python开发环境

Ubuntu下搭建python开发环境1. 下载安装python运行环境Ps:ubuntu自带python2.7环境,如需下载安装,可使用以下命令首先输入sudo passwd 输入root相关密码,输入su,进入超级管理员Sudo apt-get install pythonSudo apt-get install python-dev(编译外部模块文件使用的)Sudo apt-get inst...

2018-06-01 19:17:15 332

原创 Ubuntu部署Django

参考连接http://www.cnblogs.com/fnng/p/5268633.html1. 安装Ubuntu系统或CentOS系统2. pip freeze >requirements.txt3. pip install -r requirements.txt4. 相关环境搭建5. sudo passwd 输入root相关密码6. 输入su回车  进入超级管理员sudo apt-get...

2018-05-30 09:20:58 505

原创 数据模型之间的关系

models之间的关系简单的分为一对一(OneToOneField),一对多(ForeignKey),多对多(ManyToManyField)三种构建这种关系相对简单,只需要在models中声明即可,主要是在调用和查询的时候有些困难,所以这里主要说说查询相关查询和引用一般是在视图函数views中实现1.全部展示from apps.model import AbsModeldef index(re...

2018-05-26 12:03:16 2648

原创 scrapyd的使用

 scrapyd部署爬虫的优势:1、方便监控爬虫的实时运行状态,也可以通过接口调用开发自己的监控爬虫的页面2、方便统一管理,可以同时启动或关闭多个爬虫3、拥有版本控制,如果爬虫出现了不可逆的错误,可以通过接口恢复到之前的任意版本首先第一步也是安装pip install scrapyd安装完成之后启动即可,即在cmd中输入scrapyd这个时候在浏览器输入127.0.0.1:6800    就能查看...

2018-03-22 18:05:41 388

原创 虚拟环境的搭建

1.多安装几个版本的python以备用2.安装virtualenvs 即pip install virtualenvwrapper-win包3.输入workon查看是否可以用 这个时候ENVS文件是默认存储的,想要修改可以修改workon的路径4.在系统环境中添加WORKON_HOME即可5.这个时候就可以创建虚拟环境了,命令是mkvirtualenv +文件名创建指定版本的虚拟环境命令是,mkv...

2018-03-22 17:32:00 336

空空如也

空空如也

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

TA关注的人

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