自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Windows10 python3.11+pytorch2.01+cuda11.8安装与配置

笔者之前也安装过pytorch和cuda,最近anaconda的环境出了点问题,干脆卸载了重装。安装完成后再将官网中生成的指令在终端输入,因为安装过torch,所以只会安装torchvision和torchaudio,接下来就会比较快。本文提及的各软件下载版本仅供参考,大家根据自己需要去下载想要的版本,方法大同小异。利用终端进入下载好离线文件的路径,输入pip3 install 文件名即可进行安装。检查是否安装成功,在开始菜单,点击Anaconda Prompt。打开后,左边有(base),即安装成功。

2023-09-26 09:51:36 11153 2

原创 ACADO工具包入门使用教程

ACADO工具包入门使用教程什么是ACADO工具包ACADO工具包的安装1. 准备工作2. 安装教程使用CMake实现自己的工程1. 简单方法2. 复杂方法(推荐)2.1 设置环境2.2 实现一个简单的工程什么是ACADO工具包ACADO Toolkit 是一个用 C++ 编写的用于自动控制和动态优化的软件环境和算法集合。 它提供了一个通用框架,用于使用多种算法进行直接优化控制,包括模型预测控制以及状态和参数估计。ACADO 工具包是作为独立的 C++ 代码实现的,并带有用户友好的 MATLAB 界面。

2021-10-07 14:07:14 8002 3

原创 强化学习理论基础(MDP、值函数与贝尔曼公式以及表格式Agent)

强化学习理论基础(MDP、值函数与贝尔曼公式)前言一、MDP策略与环境模型二、使用步骤1.引入库2.读入数据总结前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言强化学习是智能体(Agent)不断地与环境交互、获取奖励、更新自身策略的迭代过程,目标是学习到能够使整体回报最大化的策略。总的来说,强化学习相比机器学习的监督学习方法有如下特点:1)定义模型所需的约束更少,大大降低定义问题的难度;2)强化学习更重视整个过程的回报,不局限于单步行动。强化学习方法类似于人类学习决策的过程,在预

2021-07-27 15:02:40 2406

原创 Python数据分析学习笔记-使用Matplotlib绘制常用图形

Matplotlib绘制常用图形一、Matplotlib绘图1. 散点图2. 柱状图3. 直方图4. 扇形图二、总结一、Matplotlib绘图1. 散点图散点图用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。特点:判断变量之间是否存在数量关联趋势,表示离群点的分布规律。散点图绘制:· plt.scatter(x,y) # 以默认的形状颜色绘制散点图实例: 假设我们获取到了上海2020年5,10月份每天白天的最高气温(分别位于列表a、b

2021-05-31 18:13:14 813

原创 Python数据分析学习笔记-使用Matplotlib入门

Matplotlib入门一、Matplotlib简介1. Matplotlib特点2. 为什么要学习Matplotlib3. Matplotlib框架构成二、Matplotlib绘图1. 绘制折线图2. plt.plot()方法3. 折线图补充总结一、Matplotlib简介1. Matplotlib特点专门用于开发2D图表,包括3D图表:使用起来简单、方便;以渐进、交互式方式实现数据可视化。2. 为什么要学习Matplotlib数据可视化是结果呈现的重要方式,清晰地观察数据,可为后续进一步分

2021-05-31 16:58:21 519

原创 Win10下CUDA+cuDNN+PyTorch安装与配置

Win10下CUDA+cuDNN+PyTorch安装与配置1. 安装Nvidia显卡驱动、CUDA和cuDNN1. 安装Nvidia显卡驱动、CUDA和cuDNN首先要在设备管理器中查看你的显卡型号:NVIDIA 驱动下载:https://www.nvidia.cn/Download/index.aspx?lang=cn下载之后就是简单的下一步直到完成。完成之后,在cmd中输入执行:nvidia-smi,记得把C:\Program Files\NVIDIA Corporation\NVSMI添

2021-04-27 11:46:37 1456 3

原创 Python爬虫学习笔记-第三十+三十一课(fiddler工具的使用)

fiddler工具的使用1. UIAutomator2自动化工具基本操作1.1 启动/停止手机APP1. UIAutomator2自动化工具基本操作1.1 启动/停止手机APP在之前的博客中笔者提及了一种查找包名的命令:adb shell pm list packages。在这介绍第二种方案,使用aapt⼯具,在终端输⼊命令:aapt dump badging apk的⽂件名。...

2021-03-29 22:52:27 395

原创 Python爬虫学习笔记-第二十九课(移动端前导知识补充)

移动端前导知识补充1. UIAutomator2自动化工具基本操作1.1 启动/停止手机APP1.2 安装/卸载手机APP1.3 其他操作2. Weditor的前导知识2.1 基本概念3. Weditor定位控件3.1 前导知识3.2 UiSelector定位的使用1. UIAutomator2自动化工具基本操作1.1 启动/停止手机APP在之前的博客中笔者提及了一种查找包名的命令:adb shell pm list packages。在这介绍第二种方案,使用aapt⼯具,在终端输⼊命令:aapt

2021-03-24 11:25:28 692

原创 Python爬虫学习笔记-第二十八课(Python与MongoDB交互+移动端前导知识)

移动端前导知识上1. 移动端基本概念1.1 移动端背景1.2 移动端数据的作用1.3 Uiautomator介绍2. UIAutomator2入门2.1 UIAutomator2执行流程2.2 adb的简介和u2的基本操作1. 移动端基本概念1.1 移动端背景随机互联网的发展,数据不仅仅只是存在于PC端。移动端的数据在这几年的占比以及势头发展趋势呈现几何倍数的增长。对于做数据分析、用户画像、市场调研来说,仅仅参考PC端的数据是远远不够的。那么于此同时移动的数据就显得尤为的重要。PC端 -->

2021-03-23 00:10:50 490 1

原创 Python爬虫学习笔记-第二十五课(Scrapy-Redis的学习与使用)

Scrapy-Redis的学习与使用1. Scrapy-Redis入门1.1 基本概念1.2 下载与安装1.3 分布式爬虫2. 案例演示2.1 采用Scrapy实现1. Scrapy-Redis入门1.1 基本概念为什么要学习Scrapy-Redis?第一个:了解工作流程(面试);第二个:要求会把普通的爬虫改写成分布式爬虫。scrapy和scrapy-redis有什么区别?scrapy是爬虫的一个框架,爬取效率非常高,具有高度的可定制性,不支持分布式;scrapy-redis是基于redi

2021-03-22 12:13:16 320

原创 Python爬虫学习笔记-第二十三课(Scrapy框架进阶+Redis入门)

Scrapy模拟登陆+MiddleWares1. 设置代理IP1.1 基本概念2. 案例练习2. scrapy集成selenium2.1 思路分析2.2 案例代码1. 设置代理IP1.1 基本概念什么是代理IP:代理IP服务器是在计算机上运行的专用计算机或软件系统,其充当端点设备(例如计算机)与用户或客户端从其请求服务的另一服务器之间的中介。为什么要设置代理IP:突破自身的IP访问限制,防止因短时间频繁访问导致IP被封;隐藏自身真实的IP。import requestsurl = 'h

2021-03-18 14:45:07 324 2

原创 Python爬虫学习笔记-第二十七课(MongoDB下)

MongoDB下1. MongoDB的数据操作1.1 修改数据1.2 删除数据1.3 小练习2. MongoDB的聚合命令3. mongodb的索引操作4. python来操作mongo4.1 基本步骤4.2 示例代码1. MongoDB的数据操作1.1 修改数据> db.集合名称.update({query}, {update}, {multi: boolean})参数query:查询条件参数update:更新操作符参数multi:可选,默认是false,表示只更新找到的第⼀条数据,值

2021-03-18 11:38:46 559

原创 Python爬虫学习笔记-第二十六课(MongoDB上)

MongoDB1. MongoDB入门1.1 基本概念1.2 下载与安装1.3 运行MongDB1. MongoDB入门1.1 基本概念MongoDB是⼀个基于分布式文件存储的nosql数据库,非关系型的数据库保存数据的类型非常的灵活。在处理大数据的时候会比MySQL更有优势。爬虫的数据如果上了⼀个量级,可能用MongoDB会比MySQL更好。优势:1.无数据结构的限制,业务开发非常快捷;2.大数据量和高性能;3.良好的支持:完善的文档+齐全的驱动支持。1.2 下载与安装官网链接:http

2021-03-17 18:07:37 316

原创 Python爬虫学习笔记-第二十四课(Redis数据类型+Python与redis的交互)

Scrapy模拟登陆+MiddleWares1. 设置代理IP1.1 基本概念1. 设置代理IP1.1 基本概念什么是代理IP:代理IP服务器是在计算机上运行的专用计算机或软件系统,其充当端点设备(例如计算机)与用户或客户端从其请求服务的另一服务器之间的中介。...

2021-03-17 16:26:27 228

原创 Python爬虫学习笔记-第二十二课(Scrapy模拟登陆+MiddleWares)

Scrapy基础下1. Scrapy模拟登陆1.1 模拟登陆人人网1.2 模拟登陆github1. Scrapy模拟登陆如果不用scrapy,模拟登陆的方式有如下几种:直接携带cookie来请求页面;发送post请求携带数据进行模拟登录;selenium进行模拟登录 (找到对应的input标签,输入内容,点击登录)。1.1 模拟登陆人人网首先,获取个人的详情页面:在这里插入代码片PICTURES需要注意的是parse()方法是下载器向start_urls发起请求获得响应后执行的方法

2021-02-03 16:50:04 741

原创 Python爬虫学习笔记-第二十一课(Scrapy基础下)

Scrapy进阶下1. CrawlSpider入门1.1 CrawlSpider预备知识点1.2 创建CrawlSpider项目1.3 案例练习——古诗文3. 案例练习——小程序社区4. Scrapy爬取图片1. CrawlSpider入门1.1 CrawlSpider预备知识点CrawlSpider的特点:从response中提取所有的标签对应的URL地址;自动的构造resquests请求,发送给引擎。LinkExtractors链接提取器:使用LinkExtractors可以不用程序员

2021-01-31 16:12:59 553 1

原创 Python爬虫学习笔记-第二十课(Scrapy基础中)

Scrapy进阶下1.案例练习1.案例练习腾讯招聘需求 :爬取工作岗位(标题) 翻页https://careers.tencent.com/search.html?index=1 第一页https://careers.tencent.com/search.html?index=2 第二页https://careers.tencent.com/search.html?index=3 第三页这些是不能够作为起始的url地址​https://careers.tencent.com/tenc

2021-01-30 22:01:12 351 1

原创 Python爬虫学习笔记-第十九课(Scrapy基础上)

Scrapy入门

2021-01-28 17:59:22 350

原创 Python爬虫学习笔记-第十八课(Scrapy入门)

Scrapy1. Scrapy简介及安装2. Scrapy的工作流程3. Scrapy的快速入门3.2 案例练习4. pipeline 管道文件1. Scrapy简介及安装为什么要学习Scrapy:可以大幅提升爬虫的效率。什么是Scrapy:⼀个为了爬取网站数据,提取结构性数据而编写的应用框架。Scrapy的优点:可配置和扩展性高;基于Twisted异步网络框架,只需要实现少量的代码,就能够快速的抓取。同步与异步异步:调用在发出之后,这个调用就直接返回,不管有无结果;非阻塞:关注的是

2021-01-27 10:08:09 548

原创 Python爬虫学习笔记-第十七课(多线程与爬虫)

多线程与爬虫高清壁纸中不同像素尺寸对应的标签如下图:采用selenium方法获取目标图片的url:import csvimport requestsfrom selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expect

2021-01-23 15:15:04 429 1

原创 Python爬虫学习笔记-第十六课(字体反爬+css反爬)

字体反爬1. 汽车之家案例1.1 字体反爬现象1.2 解决方案1.3 完整代码2. 猫眼电影案例2.1 字体反爬现象2.2 案例代码3. 自如案例3.1 css反爬现象1. 汽车之家案例1.1 字体反爬现象字体反爬通常出现在论坛、小说网站等,因为这些网站的文本内容通常具有较高的商业价值。首先给出相关网站的链接:汽车之家的示例链接从上图中看,某些文字在开发者工具的element中并没有显示为正常的字体,比如“了”和“一”都显示成了某种特殊字符。上述现象表明网站对论坛中帖子的文本内容做了相关的反爬措施

2021-01-20 10:24:28 770

原创 Python爬虫学习笔记-第十五课(资源竞争+生产者消费者模型)

资源竞争+生产者消费者模型1. 线程间的通信2. 线程间的资源竞争2.1 资源竞争的产生2.2 互斥锁和死锁2.3 Queue线程3. 生产者和消费者3.1 基本概念3.2 简单案例4. 多线程与爬虫1. 线程间的通信在⼀个函数中,对全局变量进行修改的时候,是否要加global要看是否对全局变量的指向进行了修改,如果修改了指向,那么必须使用global,仅仅是修改了指向的空间中的数据,此时不用必须使用global。示例代码:a = 20b = 30c = [1,2,3]def func():

2021-01-14 17:12:04 318

原创 Python爬虫学习笔记-第十四课(Tesseract简介+多线程)

多线程1. Tensor2. 多线程的快速入门2.1 多线程基本概念2.2 多线程的引出3. 通过函数创建线程3.1 主线程与子线程3.2 查看线程的数量3.3 验证子线程的创建与执行4. 线程间的资源竞争1. Tensor2. 多线程的快速入门2.1 多线程基本概念多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。多线程是在同一时间需要完成多项任务时而出现的产物。在日常生活中的许多事情是同时进行的,比如开车的时候,手和脚共同来驾驶汽车,再比如唱歌跳舞也

2021-01-13 14:32:12 662

原创 Python爬虫学习笔记-第十二+十三课(selenium综合练习-12306购票)

selenium下1. 网站登录无法对上图第一个input标签直接使用send_keys()方法来选定起始地或者目的地,因为它的值是城市代号。我们只能等待加载到第二个input标签的值为期望数据时(这里暂时是手动选择),完成显式等待,继续执行下一步代码。1. 网站登录init()方法:传递起始地、目的地和乘车日期run()方法:封装项目的基本功能main()方法:创建对象,并调用相关的方法完成购票...

2021-01-10 21:57:28 871

原创 Python爬虫学习笔记-第十一课(selenium下)

selenium上行为链给出文档链接鼠标操作示例代码:通过鼠标行为链操作之前,需要先进行ActionChains类的实例化;定义两个行为后,需要提交行为才能看到想要的效果,代码上就要调用perform()方法;如果不通过行为链点击按钮,则需在行为链提交动作之后,才能执行点击按钮(button.click()) ;如果通过行为链点击按钮,点击“百度一下”按钮前,需先将鼠标移动到相应的按钮标签上;...

2021-01-06 14:36:22 681 2

原创 Windows下vscode、MinGW+CMake环境搭建

Windows下vscode、MinGW+CMake环境搭建1. MinGW安装2. CMake安装3. vscode安装1. MinGW安装参考链接:MinGW-w64 C/C++编译器下载和安装安装效果:环境变量配置:参考链接里演示的是win7下的环境变量编辑操作,这里笔者给出win10下的方法,其实是大同小异的。右键计算机->属性->高级系统设置->高级->环境变量,然后鼠标双击变量Path,或者选中后点击编辑,如下图:在变量值输入框的末尾输入MinGW解

2021-01-05 16:41:21 3063

原创 Python爬虫学习笔记-第十课(selenium上)

selenium上1. 基本概念2.1. 基本概念selenium是⼀个web的自动化测试⼯具,最初是为网站自动化测试而开发的,selenium可以直接运行在浏览器上,它支持所有主流的浏览器,可以接收指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏。selenium的优点是直接模拟浏览器的行为。浏览器能请求到的,使用selenium也能请求到,爬虫更稳定。相对的,它的缺点是代码量多,性能低。chromedriver是⼀个驱动Chrome浏览器的驱动程序,使用它才可以驱动浏览器。下载方式:使

2021-01-04 09:33:46 298

原创 Python爬虫学习笔记-第九课(bs4下)

10@TOC1. select()方法的使用除了使用find()和find_all()方法查找数据外,也可以通过css选择器的方式来提取数据,但是需要注意的是使用时要求掌握css语法,css语法参考链接如下:https://www.w3school.com.cn/cssref/css_selectors.asp接下来通过代码演示:# 先给出爱丽丝文html_text = """<html><head><title>The Dormouse's story

2021-01-02 20:01:51 286

原创 Python爬虫学习笔记-第八课(bs4上)

bs4上1. bs4快速入门1.1 基本概念1.2 简单代码示例2. bs4对象种类1. bs4快速入门1.1 基本概念Beautiful Soup 是⼀个可以从HTML或XML文件中提取数据的网页信息提取库。Beautiful Soup 中文文档链接:https://www.crummy.com/software/BeautifulSoup/bs3/documentation.zh.htmlhttps://www.crummy.com/software/BeautifulSoup/bs4/do

2020-12-26 16:15:02 393 1

原创 Python爬虫学习笔记-第七课(XPath相关知识点)

xpathxpath介绍基本概念:首先,正则表达式使用时先由用户指定模板,再根据模板匹配需要的数据。假设有如下需求:寻找人才,要求是。对于正则表达式,如果给的模板比较严格(不要工资这一项,几乎没有人才能匹配上),或者模板本身很难编写,那么它的使用会受到很大的限制。对于xpath,就好比有一位资深HR告诉你,xxx街道xxx可以找到所需要的人才。以上述需求为例,xpath是一种可以根据地址找人的技术,全称:XML Path Language通过元素和属性导航...

2020-12-25 16:14:23 308 1

原创 Python爬虫学习笔记-第六课(正则表达式下+csv模块的使用)

正则表达式下compile()search()和findall()split()sub()分组案例分析compile()这个是re模块的工厂方法,用于将字符串形式的正则表达式编译为Pattern模式对象,可以实现更加效率的匹配。第二个参数flag是匹配模式,使用compile()完成一次转换后,再次使用还匹配模式的时候就不能进行转换了。经过compile()转换的正则表达式对象也能使用普通的re方法。import re# compile()方法传递匹配模板,返回Pattern对象pat = re.

2020-12-22 22:37:26 848

原创 Python爬虫学习笔记-第五课(正则表达式上)

正则表达式上1. 基本概念2. 正则表达式对Python的支持2.1 普通字符2.2 元字符2.3 预定义匹配字符集2.4 重复匹配2.5 位置匹配和非贪婪匹配3. 正则表达式小练习1. 基本概念正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。应用场景:表单验证,比如注册新用户时填写手机号、邮箱等,网页会对其进行验证;爬虫,解析网页数据时做一些字符的逻辑过滤,以便于更好地获取想

2020-12-19 18:28:40 200 1

原创 ubuntu16.04系统CUDA安装与环境配置上

ubuntu16.04系统CUDA/cuDNN安装与环境配置下1.1.1书接上回ubuntu16.04系统CUDA/cuDNN安装与环境配置上CUDA下载地址https://developer.nvidia.com/cuda-toolkit-archivehttps://blog.youkuaiyun.com/weixin_44100850/article/details/1033083671.1.1...

2020-12-18 15:11:18 919

原创 Python爬虫学习笔记-第四课(网络请求模块补充)

网络请求模块补充1. cookie1. cookie通过在客户端记录的信息,确定用户身份作用:反爬模拟登陆为什么在网页中能看到数据,而在网页源码中没有?服务器经过多次传输,不是一次性加载完成,没有在网页源码中出现小拓展:Ajax通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。以12306为例,我们并没有重新刷新网页,而是通过点击查询,获取到相应的数据(比如车次列表),这些数据就是通过ajax加载的

2020-12-17 22:14:57 797

原创 Python爬虫学习笔记-第三课(网络请求模块下)

网络请求模块下1. Get案例1.1 代码需求:爬取贴吧数据1.2 代码思路1.3 代码实现2. post案例3. requests模块简介1. Get案例1.1 代码需求:爬取贴吧数据以“天命奇御”贴吧为例,一般贴吧上有许多不同类型的数据,有文字、图片、音频、视频等。笔者在这介绍的是向贴吧的url发起请求,获取响应对象,用read()方法读取内容,暂时不再具体解析数据类型。代码想要实现的功能:输入贴吧的主题(例如:天命奇御)输入想要爬取的起始页和终止页(例如:1-3)把每一页的数据保存到

2020-12-12 14:51:06 404 1

原创 Python爬虫学习笔记-第二课(网络请求模块上)

网络请求模块上1. 相关概念介绍1.1 向网站发起请求的方式:1.2 url-全球统一资源定位符1.3 user-agent 用户代理1.4 referer1.5 状态码1.6 抓包工具爬虫的分类通用网络爬虫,例如百度、Google、360;聚焦网络爬虫,根据既定的目标有选择的抓取某一特定主题的内容。1. 相关概念介绍1.1 向网站发起请求的方式:Get查询参数会在url地址中显示;通常应用于直接从服务器上获取数据,不会对服务器上的数据产生影响;图片Post查询参数不会显示在ur

2020-12-11 14:50:07 2900 1

原创 Python爬虫学习笔记-第一课(爬虫前导知识)

模块+文件1. 模块1. 模块简介1. 模块1. 模块简介模块化指将一个完整的程序分解成一个一个的小模块。模块化的优点:方便开发和维护;模块可以复用。

2020-12-08 20:33:26 411 1

原创 Python模块介绍+文件操作

模块+文件1. 模块1. 模块简介1.2 模块的引入1.3 模块总结2. 文件2.1 打开文件2.2 读取和关闭文件2.3 读取文件补充1. 模块1. 模块简介模块化指将一个完整的程序分解成一个一个的小模块。模块化的优点:方便开发和维护;模块可以复用。1.2 模块的引入在python当中一个.py文件就是一个模块。在一个模块中引入外部模块,语法如下:import 模块名import 模块名 as 模块别名from 模块名 import 变量,变量,变量…定义一个简单的模块,

2020-12-01 22:03:59 310

原创 Python面向对象介绍(三)+异常的使用

面向对象补充+异常1. 多重继承2. 类的多态2.1 多态的概念2.2 多态的使用3. 属性和方法3.1 类属性3.2 实例属性3.3 实例方法3.4 类方法3.5 静态方法4. 异常4.1 异常的简介4.2 异常的传播4.3 异常对象1. 多重继承在Python中是支持多重继承的,也就是我们可以为一个类同时指定多个父类;小拓展:__bases__ 可以获取当前类所有的父类,使用 类对象.__bases__即可查看自己的父类。示例代码:# 先定义两个简单的类class A(object):

2020-11-28 14:36:26 200

原创 Python面向对象介绍(二)

面向对象(中)复习类的基本概念1. self参数2. 特殊方法复习类的基本概念Python提供了一些内置的类 例如 int() float() list()…类是一个可以创建对象的对象,其类型为type;类创建的对象可以称之为类的实例;p = Person(),p就是Person类创建出来的对象,也可以称p是Person类的实例或者p是实例化对象,Person是类对象。可以向类对象中添加变量和函数;在类中添加的变量称之为属性,添加的函数称之为方法。在类中添加的属性和方法都是公共的,也是是该

2020-11-26 21:52:58 179

空空如也

空空如也

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

TA关注的人

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