自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vue npm run dev 时提示“sh: 1: webpack-dev-server: not found“

记录自用在ubuntu下运行项目的时候出现如下问题经过查找,发现应该是缺少部分模块的原因:通过执行 npm install 成功解决问题

2021-06-24 14:39:23 593

原创 Django中的Cookie与Session

Cookie设置cookie使用response对象set__cookie获取cookie 用request对象测试成功获取到了上一步所添加的cookieSession一般做项目的时候Session会存到redis中django默认存到mysql所以我们需要修改配置首先安装pip install django-redis配置CACHES = { 'default': { 'BACKEND': 'django_redis.cache.Re

2021-04-01 20:54:53 187

原创 Django模板的使用

模板文件夹在工程目录下配置路径测试视图路由模板测试查询数据返回显示在模板中视图模板测试

2021-04-01 19:56:35 181

原创 DjangoORM的增删改查

根据这个进行模型类的创建添加添加数据的两种方法添加完书本的数据后就可以添加人物的数据了,添加人物数据的时候要注意外键修改数据删除数据hzhu = HeroInfo.objects.get('要删除的数据的条件')例如:删除数据等于18的数据hzhu = HeroInfo.objects.get(id=18)hzhu.delete()sha_li = HeroInfo.objects.filter(id = 19)sha_li.delete()查询基本查询过滤查

2021-03-31 00:38:50 223

原创 Django数据库与模型类

数据库的配置注意 如果配置里用的是ip地址访问需要修改mysql库里的user表里的 User字段为root的那条数据的Host字段为%,如下图查询账户Host的信息select Host,User from mysql.user;修改账户信息update mysql.user set host = ‘%’ where user = ‘root’;安装mysqlclientpip install mysqlclient如果有报错可以参考这个我安装过程中出现问题的记录ORM在工程里

2021-03-29 21:10:27 117

原创 Django自定义中间件

自定义中间件-1 创建mymiddleware文件 可以在工程目录下-2 写中间件类 继承MiddlewareMixin3在settings里注册测试多个中间件的执行顺序在视图函数被处理前,中间件由上至下依次执行在视图函数被处理后,中间件又下至上依次执行验证添加一个自定义中间件注册测试各中间件的执行条件...

2021-03-29 19:57:17 78

原创 Ubuntu安装mysqlclient报错:error: command ‘x86_64-linux-gnu-gcc‘ failed with exit status 1

记录自用在学习django的时候需要安装mysqlclient来连接mysql数据库用的是python3.7的环境安装步骤:pip3 install mysqlclient出现报错需要安装依赖首先尝试了 libmysqlclient-d这里建议使用aptitude安装 会自动安装匹配的依赖sudo aptitude install libmysqlclient-d再次尝试安装mysqlclient,这时出现了:error: command ‘x86_64-linux-gnu-gcc’

2021-03-29 15:29:37 343

原创 Django获取请求数据

获取表单数据视图注册视图用postman验证获取json数据视图测试提取路径数据使用path的时候,用路由转换器案例 获取http://192.168.80.160:8000/urldata/100 里的100视图如下注册时使用转换器int注意 注册时使用的转换器里的变量名要和视图里获取数据的变量名的一致测试自定义转换器在工程目录下 创建converters.py在文件里写自定义的转换器在工程的urls.py里把转换器注册使用自定义转换

2021-03-26 17:29:25 352

原创 Django工程的简单创建与配置

创建Django项目1.创建Django项目django-admin startproject 工程名称2.运行服务器python manage.py runserver ip:端口或:python manage.py runserver不写IP和端口,默认IP是127.0.0.1,默认端口为8000。启动后可见如下信息:在浏览器输入网址"127.0.0.1:8000"便可看到效果django默认工作在调式Debug模式下,如果增加、修改、删除文件,服务器会自动重启。按ctr

2021-03-25 15:18:46 148

原创 Scrapy数据的提取

为了在parse函数中,对response进行操作,下面列举了常用的response属性response.url:当前响应的url地址response.request.url:当前响应对应的请求的url地址response.headers:响应头response.request.headers:当前响应的请求头response.body:响应体,也就是html代码,byte类型response.status:响应状态码response.xpath方法的返回结果是一个

2020-12-07 11:29:00 291

原创 Scrapy的入门使用

创建Scrapy的项目结构创建Scrapy项目的命令scrapy startproject 项目名字创建第一个项目打开终端,进入到Scrapy框架(可以修改为自己的任意文件夹)此时文件夹是空的输入如下命令创建Scrapy项目scrapy startproject myspider效果如下:查看当前的目录:此时多了很多的文件和文件夹创建爬虫创建爬虫的命令如下:scrapy genspider 爬虫名 允许爬取的域名流程进入到创建的Scrapy项目的文件中

2020-12-04 15:33:58 93

原创 PyQt5-多线程的使用

PyQt中的多线程,它能实现多任务,让界面用一个线程更新,让逻辑代码在另外一个线程中,互不影响如果不使用多线程的话,在运行一个时间较长的代码时,程序会卡住使用多线程import sysimport timefrom PyQt5 import uicfrom PyQt5.Qt import QApplication, QWidget, QThreadclass MyThread(QThread): def __init__(self): super().__init

2020-11-30 08:15:01 3560 1

原创 PyQt5-信号与槽

信号与槽是什么?信号和槽是 Qt的核心内容信号(signal)其实就是事件(按钮点击 、内容发生改变 、窗口的关闭事件) 或者是 状态 (check选中了, togglebutton 切换。)当程序触发了某种状态或者发生了某种事件(比如:按钮被点击了, 内容改变等等),那么即可发射出来一个信号。槽( slot)若想捕获这个信号,然后执行相应的逻辑代码,那么就需要使用到 槽 , 槽实际上是一个函数, 当信号发射出来后,会执行与之绑定的槽函数将信号与槽链接为了能够实现,当点击某个按钮

2020-11-24 16:59:12 238

原创 PyQt5-窗口

分类在Qt中,生成窗口有三种方式: QWidget | QMainWindow | QDialog1. QWidget控件和窗口的父类 ,自由度高(什么都东西都没有),没有划分菜单、工具栏、状态栏、主窗口 等区域2.QMainWindow是QWidget的子类,包含菜单栏,工具栏,状态栏,标题栏等,中间部分则为主窗口区域3. QDialog对话框窗口的基类QWidgetimport sysfrom PyQt5.QtWidgets import QWidget, QLabel , QA

2020-11-24 14:40:06 428 1

原创 PyQt5-布局

布局在qt里布局分四大类:QBoxLayoutQGridLayoutQFormLayoutQStackedLayoutQBoxLayout直译为:盒子布局一般使用它的两个子类QHBoxLayout 和 QVBoxLayout 负责水平和垂直布局1,垂直布局import sysfrom PyQt5.QtWidgets import QApplication, QVBoxLayout, QWidget, QPushButton, QGroupBox, QMainWindowfrom

2020-11-23 18:15:01 1938

原创 PyQt5-基本UI

PyQt5基本UI第一个PyQt程序按钮文本输入框调整窗口大小让窗口显示在屏幕的中间设置窗口icon基本UI第一个PyQt程序import sysfrom PyQt5.QtWidgets import QApplication, QWidgetif __name__ == '__main__': app = QApplication(sys.argv) # 只要是Qt制作的程序,必须有且只有一个QApplication对象 # sys.argv当做参数的目的是将运行时的命令参数

2020-11-23 17:06:47 785

原创 Python—Selenium的一些使用方法

Selenium的方法一,提取标签内容,属性值find_element仅仅能够获取元素,不能够直接获取其中的数据,如果需要获取数据需要使用以下方法:获取文本:element.text获取属性值:element.get_attribute(“href”)使用示例:import timefrom selenium import webdriver# 获取浏览器驱动对象browser = webdriver.Chrome()# 打开指定URLbrowser.get('https://

2020-11-16 18:14:12 163

原创 Python—Selenium元素定位的方法

元素定位的方法一,元素定位的基本使用方式为了能够点击某个按钮,此时我们就需要准确无误的定位到需要的元素主要分为2种单个节点(返回的是一个对象)find_element_by_idfind_element_by_namefind_element_by_xpathfind_element_by_link_textfind_element_by_partial_link_textfind_element_by_tag_namefind_element_by_class_name多个

2020-11-16 17:31:00 110

原创 Python—Selenium的基本使用

Selenium的基本使用一,加载网页from selenium import webdriver# 获取要操作的浏览器驱动对象(直白点说,这个对象可以控制浏览器)browser = webdriver.Chrome()# 加载指定的页面browser.get("http://www.baidu.com")# 截屏browser.save_screenshot("百度首页.png")运行如上代码的效果,会自动打开百度的页面二,定位和操作import timefrom sel

2020-11-16 17:10:10 156

原创 Python—Selenium介绍以及安装

Selenium介绍以及安装一,介绍用Selenium的原因有很多网站,例如淘宝,它上面的很多页面 的数据是由JavaScript生成的,而不是原始HTML代码,而且还有很多ajax获取的数据,甚至有些数据是加密的,导致,当我们使用普通的requests来处理时,需要分析很多的js代码,此时非常困难,所以我们就用Selenium来解决什么是SeleniumSelenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,利用它可以控制浏览器执行特定的动作,例如点击、下拉、输入内

2020-11-16 16:55:19 154

原创 Python—代理

当在爬某个网站的时候,如果对方进行了封锁例如将我们电脑的公网ip封锁了,那么也就意味着只要是这个ip发送的所有请求这个网站都不会进行响应;此时我们就可以使用代理,绕过它的封锁从而实现继续爬取数据requests使用代理proxies = { "http": "http://10.10.1.10:3128", "https": "http://10.10.1.10:1080",}requests.get("https://example.org", proxies=proxies)说明:

2020-11-12 15:54:46 128

原创 Python—Session会话

当我们在爬取某些页面的时候,服务器往往会需要cookie,而想要得到cookie 就需要先访问某个URL进行登录,服务器接收到请求之后验证用户名以及密码在登录成功的情况下会返回一个响应,这个响应的header中一般会有一个set-cookie的信息,它对应的值就是要设置的cookie信息。虽然我们再之前可以通过requests.utils.dict_from_cookiejar(r.cookies)提取到这个响应信息中设置的新cookie,但在下一个请求中再携带这个数据的过程较为麻烦,所以requests

2020-11-12 15:51:05 1376

原创 Python—发送json格式数据

当我们发送POST请求的时候,一般会携带数据,POST请求,可以通过给data赋值,从而能够完成传递form表单数据例如:requests.post(url, data={"kw": "python"})但有很多时候,要向服务器发送的是json数据,此时改怎么办呢?一,发送json格式数据的方式想要发送json格式的请求数据,只需要给json命名参数赋一个字典即可,如下requests.post(url, json={"kw": "python"})示例:import requests

2020-11-12 15:48:29 2070 1

原创 Python—retrying模块的使用

使用超时参数能够加快我们整体的运行速度。但是在普通的生活中当我们使用浏览器访问网页时,如果发生速度很慢的情况,我们会做的选择是刷新页面,那么在代码中,我们是否也可以刷新请求呢?对应的,retrying模块就可以帮助我们解决1,retrying模块的使用安装: pip install retrying -i https://pypi.tuna.tsinghua.edu.cn/simple使用retrying模块提供的retry模块通过装饰器的方式使用,让被装饰的函数反复执行retry中可以传

2020-11-12 15:40:01 742 1

原创 Python—请求超时

在爬虫中,一个请求很久没有结果,就会让整个项目的效率变得非常低,这个时候我们就需要对请求进行强制要求,让他必须在特定的时间内返回结果,否则就报错一,超时参数的使用方法如下:r = requests.get(url, timeout=3)通过添加timeout参数,能够保证在3秒钟内返回响应,否则会报错注意:这个方法还能够拿来检测代理ip的质量,如果一个代理ip在很长时间没有响应,那么添加超时之后也会报错,对应的这个ip就可以从代理ip池中删除...

2020-11-12 15:16:23 330

原创 Python—SSL证书错误

一,SSL证书在我们平常上网的时候,经常能够看到下面的提示:出现这个问题的原因是:ssl的证书不安全导致的1,那么在代码中发起请求会怎样呢例:import requestsurl = "https://chinasoftinc.com/owa"response = requests.get(url)返回证书错误,如下二,解决方案为了在代码中能够正常的请求,我们修改添加一个参数import requestsurl = "https://12306.cn/mormhweb/"

2020-11-12 15:13:21 739

原创 Python—requests重定向和历史请求

重定向与历史请求重定向一,默认情况二,那么如何取消重定向呢?四,在默认情况下获取历史请求(即获取所有重定向的记录)重定向在请求url的时候,有时候打印出来的请求的url和你一开始想要请求的url不一样,想要搞清楚这个问题,就要搞清楚requests的重定向问题一,默认情况默认情况下,requests发送的请求除了方式为HEAD之外,其余的请求例如GET、POST等都是能自动进行重定向的二,那么如何取消重定向呢?在发送请求的时候,可以通过如下的设置,取消requests模块的自动重定向功能

2020-11-10 21:21:19 774

原创 Python—requests处理cookie

requests处理cookie一,为什么要处理cookie二,爬虫中使用cookie的利弊三,发送请求时添加cookie方法一,将cookie添加到headers中方法二 : 使用cookies参数接收字典形式的cookie四,获取响应时提取cookie1,方法介绍一,为什么要处理cookie为了能够通过爬虫获取到登录后的页面,或者是解决通过cookie的反扒,需要使用request来处理cookie相关的请求二,爬虫中使用cookie的利弊带上cookie的好处能够访问登录后的页面能

2020-11-10 21:01:01 1048

原创 Python—requests发送请求时的操作

requests发送请求发送带有header的请求一,为什么要发送带有header的请求二,获取请求头和响应头三,给请求添加header操作流程发送带有url参数的请求一,什么是带有url参数的请求二,请求参数三,发送带有查询参数的url流程注意使用requests发送POST请求一,发送POST请求发送带有header的请求一,为什么要发送带有header的请求有些URL,在请求时不同的浏览器版本得到的响应内容不同,所以此时我们就需要修改请求头或者添加请求头信息此时就用到了添加header二

2020-11-10 20:13:12 408 1

原创 Python—初学requests模块

requests模块一,requests介绍,安装1,requests的作用2,安装request发送get请求一,requests发送get的demo一,requests介绍,安装1,requests的作用作用 : 发送网络请求,返回响应数据对于爬虫任务,使用request模块基本能够解决绝大部分的爬取数据的任务所以用好request至关重要2,安装安装命令 :pip install requestsrequest发送get请求一,requests发送get的demo需求 :

2020-11-10 19:53:43 1061 2

原创 Python—MongoDB进阶

MongoDB进阶MongoDB的进阶用法一,limit二,skip三,同时使用limit和skip四,投影五,排序六,统计个数七,消除重复聚合操作一,MongoDB的聚合是什么二,常用管道三,$match的使用四,$group的使用1,按照某个字段进行分组2,常用的表达式3,group by null4,数据透视6,多次聚合五,$project1,使用六,管道命令之$sort七,$skip 和 $limitMongoDB的进阶用法一,limitlimit() : 用于读取指定数量的文档用法:d

2020-11-10 16:12:12 708

原创 Python—初学MongoDB数据库

MongoDB的基本使用数据库一,查看所有的数据库二,查看当前正在使用的数据库三,切换数据库四,创建数据库五,删除当前的数据库集合一,查看当前数据库中所有的集合二,创建集合1,自动创建集合2,手动创建集合三,删除集合文档相关一,常见的数据类型二,注意点MongoDB的增删改查一,MongoDB的插入1,insert()2,save()二,MongoDB的简单查询三,MongoDB的更新四,MongoDB的删除查询进阶一,数据查询二,比较运算符三,逻辑运算符四,范围运算符五,编写正则表达式查询六,指定域查询七

2020-11-09 18:02:58 568

空空如也

空空如也

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

TA关注的人

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