自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

网络爬虫开发

挖掘冷数据高贵价值,发现技术的高冷气质

  • 博客(66)
  • 资源 (1)
  • 收藏
  • 关注

原创 django开发知识点3-链式调用

1、支持链式调用的接口all使用频率比较高,相当于SELECT * FROM table 语句,用于查询所有数据。filter使用频率比较高,根据条件过滤数据,常用的条件基本上字段等于、不等于、大于、小于。当然,还有其他的,比如能修改成产生LIKE查询的:Model.objects.filter(content__contains="条件")。exclude与filter是相反的逻辑reverse将QuerySet中的结果倒叙排列distinct用来进行去重查询,产生SE

2021-04-07 11:52:04 193

原创 django开发知识点2-ORM对象

一、对ORM的理解1、什么是ORM?ORM是对象关系映射(Object Relational Mapping),简称ORM,或O/RM,或O/R mapping,是一种程序技术。白话理解:就是把我们定义的对象(类)映射到对应的数据库的表上,所以ORM就是代码(软件)层面对于数据库表和关系的一种抽象。2、Django与ORM之间的关系Django中的model就是ORM的一个具体实现。3、ORM在Django中的具体体现简单来说,就是继承了Django的Model,然后定义了对应的字段,

2021-04-07 11:47:59 211

原创 Django开发知识点1-创建项目

Django常用 命令:1、安装:pip install django 指定版本 pip3 install django==2.0新建项目: django-admin.py startproject mysite新建APP : python manage.py startapp blog启动:python manage.py runserver 80802、同步或者更改生成 数据库:python manage.py makemigrationspython manage.py

2021-04-07 11:34:19 95 2

原创 消息队列在爬虫开发上的应用

1.什么是消息队列消息队列一般可以作为数据缓存,在实际应用上用来存储经常需要交互的数据,以此提高访问数据的速度及提高网站的用户体验。2.有哪些数据库是消息队列redis、MQ、celery、mongodb等3.为什么使用消息队列在爬虫中使用消息队列可以开发分布式爬虫,也是分部式爬虫中很重要的技术。目前的分布式爬虫架构主要以redis为主,原因在于缓存的速度快,数据可持久化。常规的爬虫使用的是内存缓存的方式,只有在爬虫运行时,数据暂存在内存中,这样的爬虫速度也是很快的,但是由于数据不可

2021-04-06 23:03:20 424

原创 VPS性能优劣与使用

场景;爬虫开发,需要大量ip,可以购买vps服务器。vps服务器优点:是通过拨号上网,切换网卡,更换获取新的IP,对于大批量的爬虫来说,一旦网站被封,需要更换ip,考虑成本的问题,这时候的vps就是最佳的选择,价格几十块钱一个月,还是很便宜的。稳定性也是不错的。vps服务的缺点:由于是拨号上网,所以需要先断开网络之后,在连接网络。在断网再联这个期间ip是不可用的,失效的。其次频繁的拨号上网会使得网卡卡死,更换ip失败,这个时候就需要重启vps.,但也还有更优的方法,就是定时拨号更换,防止网卡卡死。

2020-11-12 15:59:29 246

原创 docker 小白入门

第一步打开服务器第二部重开cmd检查docker的版本,这样可以用来确认docker服务在运行并可通过客户端链接。$ docker version学会使用命令行的工具来检索名字叫做tutorial的镜像。命令行的格式为:docker search 镜像名字$ docker search tutorial通过docker命令下载tutorial镜像。在docker的镜像索引网...

2019-12-19 11:12:35 238

原创 docker快速部署爬虫

Docker部署Python爬虫场景描述:我们使用一个简单的python爬虫部署,本项目是获取百度首页代码。如何实现Docker安装部署。第一步: Win10下创建目录文本选择在D盘下创建docker目录,分别新建三个文件:Dockerfile,app.py,requirements.txtDockerfile(没有后缀):一个文本文件,包含了一条条的指令(Instruction),每...

2019-12-19 11:09:53 2208 1

原创 pyinstaller打包程序这么简单

需要准备素材:python文件 图标(格式为.ico)安装pyinstaller: pip install pyinstaller有两种进入查找文件的方法:1)直接cmd或者快捷键(win+r)然后进入所在文件的文件夹2)直接打开文件所在的文件夹 然后shift+鼠标右键 点击windows powershell1、然后将图片和文件放到一起 在终端输入 pyinsta...

2019-11-02 12:54:19 354

原创 Django 开发后台管理系统

数据库:python自带数据库开发系统:windows ,pycharm主要实现功能:1)登录与注册页面2)添加页面3)更新页面4)查询页面5)删除页面6)账号页面1)登录与注册页面对表单数据进行验证( 从数据库验证)账号密码都存在就登录进入后台;否则就提示账号密码错误点击注册按钮进入注册页面:账号密码是必填项,没有按要求填写就提示输入,按l...

2019-11-01 16:50:43 2147 39

原创 Python爬虫:爬取app短视频

"""夜神模拟器+fiddler+Python爬取app抖音小视频下载fiddler配置网络与端口下载夜神配置网络下载认证下载app最后抓包"""class DouYinApp(): #页面请求 def get_page(self,url): response = requests.get(url) r...

2019-10-15 14:26:42 7310 5

原创 Scrapy :全站爬取文学文章

爬取网站:www.rensheng5.com爬取内容:整站文章爬取字段:名称 时间 作者 内容保存:以每个文章的名称命名保存为txt本次采用通用爬虫爬网站:环境:Ubuntu python3.7在终端创建项目模板 CrawlSpider重要的就是Rule正则表达式的构造项目创建可见我的其他scrapy爬虫,在此不再赘述直接上主要代码: rules =...

2019-10-08 13:06:46 227

原创 NodeJs破解AES参数加密

爬虫分析常见的反爬虫的方式很多,但是比较有难度,有区分度的技术当属JS逆向分析的参数加密,或者数据加密。本篇博客记录的是博主本人在工作中实际碰到的请求参数进行了加密情况,使用的加密方式是AES的方式(不知道AES是啥也不重要,毕竟我们是做爬虫的只要将最后的结果逆向还原出来,至于深入研究如何实现应该是做密码学的该考虑的,我们可以做一些简单的学习,知道是个啥)。这里的加密是对GET请求进行的加密。详细记录本次的破解过程,毕竟时间久了就会忘的,以后也可以温故而知新。逆向网站为化合物百科1.打开网站进行必要

2021-10-15 15:26:02 635

原创 uwsgi+Nginx部署Django

服务器:阿里云系统:ubuntu20python:服务器自带服务器在安全组中开启8001/8001端口前期MySQL安装使用docker

2021-06-15 08:56:15 237

原创 python â\x89¥ 95%编码错误

1.遇到的问题: 大于等号≥编码错误:â\x89¥ 95%(正确≥ 95%)解决方法:对源代码使用编码:response = requests.get(url=url)response.encoding = response.apparent_encoding成功!

2021-04-27 16:02:55 401

原创 pymysql 报错 pymysql.err.ProgrammingError: (1064, “You have an error in your SQL syntax;

1.报错使用了:pymysql.escape_string()可以解决字符串转化单双引号的问题2.第一种方法需要排查出那个字符串有问题,可以打印出sql语句查看,发现字符串中只有一个双引号的问题(本人遇到的问题字符串中有一个左上双引号),解决这个问题的方法是找到对应的词加上第一步的方法。3.最好的方法就是所有都加上pymysql.escape_string()的方法,避免其他在遇到此类问题!...

2021-04-26 09:07:17 11369

原创 文本生成词云图wordcloud

1.安装 jieba :pip install jieba pip install retext = """ """ 一串待处理的文本2.文本预处理 1.使用正则表达式去除文本中的无用字符及特殊符号import reimport jieba# wenbenpattern = re.compile(u'[a-zA-Z\u4E00-\u9FA5]')pattern1 = re.compile(r'[0-9]')d = pattern.findall(text.encode(...

2021-04-25 17:45:42 822 1

原创 Scrapy POST不支持发送payload参数

1.使用scrapy发送post请求,参数为payload类型一般使用:return scrapy.FormRequest(url=url,formdata=data,headers=headers)到这步思路没有问题,问题就处在scrapy暂时不支持post发送payload类型。源码貌似formdata一般用于表单发送数据,为dict类型,而非str,所以获取会报错解决方法:使用如下方法:return scrapy.Request(url=url,

2021-04-22 11:39:13 268

原创 django 报错:‘staticfiles‘ is not a registered tag library. Must be one of

'staticfiles' is not a registered tag library. Must be one of: admin_list admin_modify admin_urls cache i18n l10n log static tz解决方法:将模板文件代码{% load staticfiles %}修改为{% load static %}

2021-04-13 14:13:24 487

原创 django开发知识点4-内置接口调用

内置接口调用1、进阶接口除了常用接口外,还有其他用来提高性能的接口,在下面介绍。 在优化Django项目时,尤其要考虑这几种接口的用法。defer把不需要展示的字段做延迟加载。比如说,需要获取到文章中除正文外的其他字段,就可以通过posts = Post.objects.all() .defer('content'),这样拿到的记录中就不会包含content部分。但是当我们需要用到这个字段时,在使用时会去加载。代码:products=Product.objects.all().defer

2021-04-07 13:43:16 1002

原创 docker 报错 没有安装 WSL 2

报错提示:WSL 2 is not installedInstall WSL using this PowerShell script (in an administrative PowerShell) and restart your computer before using Docker Desktop:Enable-WindowsOptionalFeature -Online -FeatureName $("VirtualMachinePlatform", "Microsoft-Wind

2021-03-15 09:03:24 2685 1

原创 MySQL存在就更新数据记录,不存在就新增记录

案例:MySQL插入数据,存在就更新,不存在就插入;数据库app_test表;字段nam,url,source,statenam,url,source建立联合唯一索引表中创建数据:INSERT INTO app_test (nam,source,url,state) VALUES('zhaomeng','淮安','111111','60') on DUPLICATE key update state=VALUES(state)第一次表为空插入数据第二次插入联合唯一索引..

2021-02-24 15:41:53 571

原创 Tkinter 编写桌面工具

1.使用python3 Tkinker编写操作数据库的桌面并打包成exe2.主要应用本人学习以及实际的使用,代码中尚有不足之处。主要的实现功能为:查询:按时间段查询以及查询当天数;批量更新;使用网格布局的方式(grid)文本框输入读取数据库进行查询的动态适配自己的一类处理需求环境:使用mongodb数据库操作windows系统anconda3tkinterdatetime打包程序看我之前的博文 整体代码如下...

2020-12-11 09:50:23 254

原创 docker使用Redis

本片可以结合我之前的docker下载redis镜像环境为ubutu18docker exec -it redis /bin/bash 进入redispython3 连接redisimport redisclient = redis.Redis(host='localhost',port=6379,db=0)client.sadd()....输入:redis-cliSADD name value 向名为name的集合添加valueSCRAD name 查询集合元素...

2020-11-13 09:05:56 140

原创 fiddler抓包视频

""" 解析视频 可以抓包也可以控制台查看 下载VIP视频 --哪吒之魔童降世 cmd 下合并视频copy/b *.ts 哪吒.mp4"""from multiprocessing import Poolimport requestsclass Vip(object): #构造urls def get_urls(sel...

2020-11-12 15:58:09 5652 12

原创 scrapy 操作MYSQL

scrapy piplines操作mysql数据库:class EducationPipeline: def __init__(self): self.connect = pymysql.connect(host='localhost', port=3306, user='root',

2020-11-12 15:52:02 703

原创 python3操作MYSQL

MySQL数据库:python3安装数据库库:pip install pymysql操作import pymysql连接数据库使用connnect方法:db = pymysql.connect(host="localhost", # 主机port=3306, # 端口号user='root', # 数据库账号password='123456', # 数据库密码,密码是字符串类型,不是int型database='test' # 数据库名)接之后,使用cursor()

2020-11-12 15:50:02 128

原创 mongodb操作整理

docker 安装mongodb:docker 进入mongodb:docker exec -it mongodb /bin/bash一、基本指令:1.显示当前的所有数据库show dbsshow databases2.进入到指定的数据库中use 数据库名数据库不存在时,在插入数据是创建;3.查看当前所处的数据库db4.显示数据库中所有的集合show collections删除集合 db.collection.drop() 删除...

2020-11-12 15:47:37 224

原创 python3 tkinter实现GUI开发

1.使用tkinter开发桌面GUI应用,将常用的数据库操作,开发成桌面的应用。正对的数据库为:Mongodb数据库使用frame框架以及grid布局方式使用的组件:lable标签、entry输入框、text文本、button按钮使用的数据库的语法。查询总数、查询当天的采集数,修改采集状态、查询一段时间的采集量使用案例如下:import tkinterimport pymongoimport datetimefrom PIL import Image,ImageTkdef

2020-11-12 15:45:58 404

原创 python3打包并传递参数

使用python写脚本,但脚本里的参数是变动的、可修改的,有想将文件打包成exe,这时候可以看看本片博文:1.使用pyinstaller包进行打包安装:pip install pyinstaller通过cmd传递参数主要通过:sys.argv[1]代表第一个参数sys.argv[2]代表第二个参数使用案例:import requestsimport sysdef getBaiduHtml(keyword): url = 'https://www.baidu.com/

2020-11-12 15:36:37 823 1

原创 Gerapy部署爬虫

1.先安装pip install gerapy初始化gerapy init 会在当前目录下创建一个gerapy文件 里面有一个projects文件夹用于存放要部署的 scrapy文件,可以放置多个文件等待调度Cd gearpy 目录下 运行 创建数据库 gerapy migrate在当前目录下创建了sqlite.db数据库需要创建账号 gerapy createsuperuser输入账号名 邮件号 密码运行 gerapy runserver...

2020-11-12 15:28:34 373

原创 python3打包项目并传参

1.使用pyinstaller包进行打包安装:pip install pyinstaller通过cmd传递参数主要通过:sys.argv[1]代表第一个参数sys.argv[2]代表第二个参数例:import requestsimport sysdef getBaiduHtml(keyword): url = 'https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=1&rsv_idx=1&tn=bai..

2020-11-12 15:08:08 557 1

原创 kali linux 安装Docker

kali linux 安装dockerzhaomeng@kali:~$ sudo apt-get install docker docker-compose启动dockerservice docker start报错如下zhaomeng@kali:~$ docker search redisCannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?解决方

2020-08-10 18:41:55 476

原创 kali linux2020桌面切换成win10再切回

切换到win10桌面:应用程序下的常用程序下的其他点击kali undercover mode再次切换就回不到之前的桌面了:解决方法:1、cd 到根目录2、cd .config/3、rm -rf xfec44、reboot

2020-08-10 18:39:29 3232

原创 java 计算薪水

package 公司支出的总薪水;abstract class Employee{ public abstract double earings();}class YearWorker extends Employee{ public double earings(){ return 12000; }}class MonthWorker extends Employee{...

2019-12-19 15:22:36 3144 1

原创 java 折半查找

import java.util.Scanner;public class zheban { public static void main(String[] args) { //选择排序数组 int start = 0,end,middle; int a[] = {12,45,67,89,123,-45,67}; int N = a.length; for(int i...

2019-12-19 15:21:04 138

原创 java加密解密

public class Example_4 { public static void main(String[] args) { //异或a1^A char a1 = '十', a2 = '点', a3 = '进', a4 = '攻'; char secret = 'A'; a1 = (char)(a1^secret); a2 = (char)(a2^secret);...

2019-12-19 15:20:00 213

原创 java 判断语句

import java.util.Scanner;public class Example_32 { public static void main(String[] args) { // 条件分支 int a = 9,b = 5,c = 7,t = 0; if(b<a){ t = a; a = b; b = t; } if(c<a){ ...

2019-12-19 15:19:12 173

原创 Java数组

public class Example_3 { public static void main(String[] args) { //数组的使用 float a[] = new float[5];//定义数组并没创建数组 System.out.println(a.length);//输出数组的长度 int b[] = {1,2,3,40};//定义数组并初始化 b =...

2019-12-19 15:17:52 104

原创 JAVA输入

import java.util.Scanner;public class Example_2 { public static void main(String[] args) { //输入输出数据 System.out.println("请输入若干个数,每输入一个数回车确认"); System.out.println("最后输入数字0结束输入操作"); Scanner r...

2019-12-19 15:17:11 134

原创 java类型

public class Example_1 { public static void main(String[] args) { byte b = 22; int n = 129; float f =123456.6789f; double d = 123456789.123456789; System.out.println("b= "+b); System.o...

2019-12-19 15:15:26 137

matplotlib.ipynb

matplotlib.ipynb,图表显示,

2019-11-29

空空如也

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

TA关注的人

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