自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 问答 (1)
  • 收藏
  • 关注

原创 xpath解析无法得到结果

今天在做网页解析的时候遇到一个问题,使用了正确的xpath解析式但是得不到想要的网页内容,在确定了爬取的内容没有问题之后,发现是在etree.HTML(r.text)进行网页转换时一些转义字符导致部分标签被注释掉从而无法通过xpath获取解决办法:用selector# selector 方式import requestsfrom lxml import etreefrom bs4 import BeautifulSoupurl = 'https://gitee.com/al-one/ha

2022-05-14 17:30:14 1216

原创 模拟浏览器进行爬取时遇到的一些问题记录

最近实验室要求在Chemistry Europe这个网站上爬取一些论文数据,过程中遇到了不少问题,在此记录一下。未解决的问题https://chemistry-europe.onlinelibrary.wiley.com/doi/full/10.1002/cctc.202101625这个网页,当我用requests去获得它的论文数据时,无论怎么设置headers和cookie,还是显示503错误,不知道是什么反爬的措施。在此把代码贴出来,期待能收获大佬的解答。import requestsfrom

2022-05-10 11:32:38 1146 2

原创 ssh连接linux服务器中断后,如何让命令继续在服务器运行

在所要执行的指令前添加screen这个时候如果ssh终端断开了连接。我们只需要再次连接服务器然后输入指令screen -ls然后会得到类似下面的结果:There is a screen on: 27267.pts-19.TITAN-X (09/08/2017 03:49:10 PM) (Detached)Socket in /var/run/screen/S-huanghailiang.这里就会显示ssh断开之前的程序,其实断开后程序依然在后台在运行,只是我们这个时候需要将它放到前台来运行

2022-04-29 15:22:48 3661 5

原创 pip install

查看site-packages的位置:python2 -m site --user-site下载到指定site-packages中:pip3 install -t /Users/wuyang/Library/Python/2.7/lib/python/site-packages pdfminer

2022-04-25 13:25:03 718

原创 RE Survey

IntroductionRE, relation extraction, in order to extract relational facts in vast amounts of text.There are 4 directions leading to better RE abilities:Utilizing more dataPerforming more efficient learningHandling more complicated contextOrienting m

2022-04-11 18:42:26 308

原创 Python的深浅拷贝

在复制Python的对象时,如字典,一定要用深拷贝,dic.copy(),简单的等于号只是浅拷贝,相当于对字典对象的引用,后续的操作会改变这个字典的值尤其是在一个数据为字典的列表中,如果字典在循环外部,不断的循环不断的append最后你会发现每一次append新值都会覆盖老值????...

2021-10-27 00:49:24 93

转载 SSH命令行传输和下载文件

SSH命令行传输和下载文件

2021-05-29 22:06:18 2631

转载 centos下载并配置mysql与navicat的使用

https://zhuanlan.zhihu.com/p/106388681

2021-05-21 17:58:38 143

原创 vue实现页面自适应布局(rem)

在前端开发的时候经常会遇到这样的困惑,设计师给你的设计稿的尺寸和页面的尺寸不一致,导致了页面无法正常显示。这时候,使用rem单位进行操作是一种不错的方法。以下以vue中的代码为示例,设计师的设计稿尺寸为1920px。第一步,安装两个小插件:npm install lib-flexible -Snpm install px2rem-loader -D第二步,安装好后在main.js中导入第一个插件:// main.jsimport 'lib-flexible'第三步,修改配置:在 vue-

2021-04-30 21:46:35 4476 1

原创 vector::iterator中的两个小细节

#include<iostream>#include<vector>using namespace std;class Solution {public: int removeDuplicates(vector<int>& nums) { if (nums.size() == 0) return 0; vector<int>::iterator i = nums.begin(); vector<int>::itera

2021-04-19 00:16:41 116

原创 C++中内存的申请与释放

申请和释放内存:// 申请和释放一个类型的内存int *p = new int;delete p;// 申请和释放一个块空间int *arr = new int[10];delete []arr;在delete指针后要赋值为NULL:char *p=new char[10]; //指向堆中分配的内存首地址,p存储在栈区cin>> p;delete []p; //p重新变为野指针资源泄漏...

2021-03-26 16:00:39 1038

原创 八大排序

“>代码仓库<”冒泡排序冒泡排序重复地走访要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。对冒泡排序常见的改进方法是加入标志性变量exchange,用于标志某一趟排序过程中是否有数据交换。如果进行某一趟排序时并没有进行数据交换,则说明所有数据已经有序,可立即结束排序,避免不必要的比较过程。直接插入排序直接插入排序,每次将一个新数据插入到有序队列中的合适位置里。因为在一个有序序列中查

2021-03-24 22:12:12 87

原创 理解python中的GIL(全局解释器锁)

什么是GIL?GIL,全称Global Interpreter Lock,中文释义为全局解释器锁,它并不是python语言的一个特性,和python也没有任何关系,它是在实现一种python解释器(CPython)时引入的一个概念。就好比C++是一套语法标准,可以有GCC,Visual C++等等编译器一样,Python也可以通过CPython,Pypy,JPython等不同的编译器来运行。像其中的JPython就没有GIL。为什么会有GIL?python使用引用计数来进行内存管理,意味着在Pytho

2021-03-24 18:45:15 311

原创 SQLZOO题选

SELECT_basics1SELECT population FROM world WHERE name = 'Germany'2SELECT name, population FROM world WHERE name in ('Sweden', 'Norway', 'Denmark')3SELECT name, areaFrom worldWHERE area BETWEEN 200000 AND 250000SELECT_names1// Find the coun

2021-03-24 16:01:38 86

原创 GitHub连接问题

打开C:\Windows\System32\drivers\etc\hosts文件:在最后加入内容:192.30.255.112 github.com git 185.31.16.184 github.global.ssl.fastly.net 12Win10解决修改不了hosts文件的办法:右键属性,进入安全选项卡,选中Users进行编辑,赋予“完全控制”权限...

2021-03-23 21:36:19 224

原创 P分位数

https://blog.csdn.net/juliarjuliar/article/details/81082934

2021-03-22 18:32:04 883

原创 Pandas

三种数据结构Series一维的数据结构,类似于一维数组,能够保存任意类型的数据,比如整数、字符串、浮点数等,主要由一组数据和与之相关的索引两部分构成。# 创建import pandas as pdpd.Series(data=None, index=None, dtype=None)'''参数:data:数据,可以传入ndarray和list等index:索引,必须唯一,且与数据长度相等。如果没有传入,默认创建一个0-N的整数索引dtype:数据类型'''pd.Series(np

2021-03-22 17:21:37 76

原创 函数指针

C中的函数指针如果在程序中定义了一个函数,那么在编译时系统就会为这个函数代码分配一段存储空间,这段存储空间的首地址称为这个函数的地址。而且函数名表示的就是这个地址。既然是地址我们就可以定义一个指针变量来存放,这个指针变量就叫作函数指针变量,简称函数指针。那么这个指针变量怎么定义呢?虽然同样是指向一个地址,但指向函数的指针变量同我们之前讲的指向变量的指针变量的定义方式是不同的。例如:int(*p)(int, int);这个语句就定义了一个指向函数的指针变量 p。首先它是一个指针变量,所以要有一个*,

2021-03-16 21:49:51 71

原创 vue-cli

准备工作首先在官网下载node.js下载好之后,在命令行通过node -v 和 npm -v查看是否安装成功配置淘宝镜像加速:npm config set registry https://registry.npm.taobao.org安装vue-cli:npm install vue-cli -g安装文件夹在用户目录下面的AppData\Roaming\npm中进入项目目录,生成项目文件:vue init webpack 项目名进入项目名文件,安装依赖,依赖是根据packa.json自动安装

2021-03-16 20:20:40 56

原创 Golang学习笔记(五)包

定义包package 包名(1)一个文件夹下面直接包含的文件只能归属一个package,同样一个package的文件不能在多个文件夹下。(2)包名可以不和文件夹的名字一样,包名不能包含 - 符号。(3)包名为main的包为应用程序的入口包,这种包编译后会得到一个可执行文件,而编译不包含main包的源代码则不会得到可执行文件。可见性如果想在一个包中引用另外一个包里的标识符(如变量、常量、类型、函数等)时,该标识符必须是对外可见的(public)。在Go语言中只需要将标识符的首字母大写就可以让标识

2021-03-16 17:27:35 163

原创 vue预热

第一个vue程序<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <tit

2021-03-15 21:05:52 83

原创 C和C++中的struct

从树的表示方法说起对于树这种数据结构,c和c++有两种不同的表示方法:// Cstruct treeNode { int val; struct treeNode* left; struct treeNode* right;};// C++struct treeNode { int val; treeNode* left; treeNode* right; treeNode(int x): val(x), left(NULL), right(NULL) {}};C中的str

2021-03-15 18:29:02 475

转载 Golang学习笔记(四)结构体

Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性。类型别名和自定义类型自定义类型//将MyInt定义为int类型type MyInt int自定义类型是定义了一个全新的类型。我们可以基于内置的基本类型定义,也可以通过struct定义。类型别名类型别名规定:TypeAlias只是Type的别名,本质上TypeAlias与Type是同一个类型。就像一个孩子小时候有小名、乳名,上学后用学名,英语老师又会给他起英

2021-03-15 15:34:44 164

原创 Golang学习笔记(三)指针、map、函数

指针区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。要搞明白Go语言中的指针需要先知道3个概念:指针地址、指针类型和指针取值。Go语言中的指针不能进行偏移和运算,因此Go语言中的指针操作非常简单,我们只需要记住两个符号:&(取地址)和*(根据地址取值)。ptr := &v // v的类型为Tv:代表被取地址的变量,类型为Tptr:用于接收地址的变量,ptr的类型就为*T,称做T的指针类型。*代表指针。func main() { a := 1

2021-03-14 20:44:50 364

原创 极简美学——python

# 检查两个字符串的组成元素是不是一样的from collections import Counterdef similarConsistence(first, second): return Counter(first) == Counter(second)print(similarConsistence('abbc', 'cba')) # False# 内存占用import sysvariable = 3print(sys.getsizeof(variable)) # 28,

2021-03-14 13:54:02 99

原创 Golang学习笔记(二)数组和切片

Array数组数组是同一种数据类型元素的集合。 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。 基本语法:// 定义一个长度为3元素类型为int的数组avar a [3]intvar 数组变量名 [元素数量]Tvar a [3]intvar b [4]inta = b //不可以这样做,因为此时a和b是不同的类型初始化// 方法一func main() { var testArray [3]int //

2021-03-13 14:12:30 116

原创 初识RESTful API以及flask-restful的使用

前后端分离示例:REST APIREST API是前后端分离最佳实践,是开发的一套标准或者说是一套规范,不是框架轻量,直接通过http,不需要额外的协议,通常以post/get/put/delete操作面向资源,一目了然,具有自解释性数据描述简单,一般通过json或者xml做数据通讯REST,全称Representational State Transfer,翻译过来是“表现层状态转换”。表现层,即“资源”的具体呈现形式,网络上的所有实体,比如一张图片,都可以看作是一个资源。对于每一个资

2021-03-12 22:24:44 345

原创 基于平台的软件开发(一)

什么是平台?任何软件的开发和运行,都需要基于某种平台编程平台包括很多种类– 计算机硬件 CPU:intel、AMD– 操作系统 Unix、Linux、Windows、Android、iOS– 系统基础设施 :图形用户界面(AWT)、网络(.net Package)– 中间件:Java RMI、DCOM、CORBA– 应用框架:Springboot、优友智能机器人SDK、MFC、Unity3D、.Net Framework、jMonkeyEngine、ThinkPHP本课程的目标是去研究

2021-03-11 15:06:01 1708 2

原创 vscode写python时的错误提示和自动格式化

(1)在VScode中打开设置,搜索python.linting.flake8enabled(2)在Settings界面中勾选Whether to lint Python files using flake8(3)打开终端,下载flake8(错误提示)和autopep8(自动格式化)pip install flake8, autopep8安装完成后,重启vscode,右键选择自动格式化,ctrl+s保存,那些因为没有遵循pep8格式而报错的红线就会消失。...

2021-03-10 18:08:09 2053 1

原创 单链表的初始化

// 方法一#include <iostream>using namespace std;struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};class Solution {public: // 该函数的作用是正序输出结点值 ListNode* PositiveOutput(ListNode* head) { if (head == nullptr)

2021-03-10 17:01:49 331

原创 Golang学习笔记(一)安装配置、数据类型、流程控制

安装及配置安装:https://golang.google.cn/doc/install?download=go1.16.windows-amd64.msi安装在E:\Go目录下在cmd中输入go version即可检查是否安装成功新建文件夹D:\Go,用来存放与管理项目,同时在系统变量中配置GOPATH为D:/Go在D:\Go中新建目录bin、src、pkg,分别用来存放可执行文件、源代码以及中间状态包,并将D:\Go\bin配置到用户变量的path中进入cmd输入go env即可查看是否配置

2021-03-09 14:27:28 124 1

原创 循环神经网络

循环核我们可以利用卷积神经网络实现离散数据的分类,然而有些数据是与时间序列相关的,是可以根据上文预测出下文的。比如我们的大脑就可以利用脑记忆体提取出历史数据进行分析来预测接下来有可能出现的数据,比如“鱼离不开___”,我们下意识地会预测出接下来出现的可能是“水”。那么在神经网络中也有这样一个记忆体,叫做“循环核”。循环核具有记忆力,通过不同时刻的参数共享,实现了对时间序列的信息提取。循环核中记忆体的个数可以被设定,改变记忆容量。当记忆体个数、输入x以及输出y维度被指定,循环核周围这些带训练参数的维度

2021-03-07 22:50:13 303

原创 神经网络基础模型功能扩展

数据增强tensorflow提供了对图片数据进行增强的函数,在小数据量时可以增加模型泛化性:image_gen_train = tf.keras.preprocessing.image.ImageDataGenerator( rescale = 所有数据乘以该数值 rotation_range = 随机旋转角度数范围 width_shift_range = 随机宽度偏移量 height_shift_range = 随机高度偏移量 horizontal_flip = 是否随机水平翻转 zoom

2021-03-06 20:14:04 200

原创 神经网络搭建—Sequential&class

Sequential六步法首先,介绍这六个步骤:importtrain, testmodel = tf.keras.models.Sequentialmodel.compilemodel.fitmodel.summarySequentialSequential用来描述各层网络,并且按顺序将它们走一遍,相当于一次前向传播。model = tf.keras.models.Sequential([网络结构])网络结构举例:拉直层:tf.keras.layers.Flatten()全连接

2021-03-05 21:53:59 977 1

原创 神经网络参数优化器

待优化参数w,损失函数loss,学习率lr,每次迭代一个batch(通常为2^n个数据),t表示当前batch迭代的总次数一阶动量:与梯度相关的函数二阶动量:与梯度平方相关的函数随机梯度下降SGD最常用的梯度下降法,不含动量,一阶动量等于梯度,二阶动量等于1# SGDw1.assign_sub(lr * grads[0]) # 参数w1自更新b1.assign_sub(lr * grads[1]) # 参数b自更新SGMD在SGD的基础上增加了一阶动量:其中0.0和

2021-03-05 20:06:31 171

原创 卷积神经网络

卷积卷积是有效提取矩阵特征的一种方法,通过卷积核在矩阵上的移动,矩阵中被覆盖的部分与卷积核对应元素相乘求和再加上偏置项,就提取出了该部分的特征单通道卷积核多通道卷积核感受野通过卷积计算之后,输出特征图上每个像素点所对应在原始输入图片上映射区域的大小就是感受野。如下图,感受野为3:卷积神经网络的主要模块卷积是什么?卷积就是特征提取器,就是CBAPDC:Conv2DB:BN批标准化会对所有像素点进行减均值再除以标准差的操作,使数据符合0为均值,1为标准差的分布,

2021-03-04 14:25:56 170 1

原创 python操控excel实现办公自动化

读import xlrd""" 打开excel表格"""workbook = xlrd.open_workbook("测试.xlsx")print(workbook) # 结果:<xlrd.book.Book object at 0x000000000291B128>""" 获取所有sheet名称"""sheet_names = workbook.sheet_names()print(sheet_names) # 结果:['表1', '

2021-03-01 15:51:31 105

原创 C++函数参数中引用和指针区别

C++中有三种传递参数的方式值传递将变量名作为实参和形参,这是传递的就是参数的值,而且属于单向传递。实参和形参在不同的地址空间中。即我在函数外部调用函数的时候,把变量传递进去之后,无论函数内部对我的变量做了怎样的修改,改变的只是函数内部形参的值,函数外部的实参保持不变#include <iostream>#include <stdio.h>#include <string>using namespace std;void funcr(string

2021-02-28 17:18:00 724

原创 [LeetCode链表] 141.环形链表 (easy)

哈希表最容易想到的方法是遍历所有节点,每次遍历到一个节点时,判断该节点此前是否被访问过。具体地,我们可以使用哈希表来存储所有已经访问过的节点。每次我们到达一个节点,如果该节点已经存在于哈希表中,则说明该链表是环形链表,否则就将该节点加入哈希表中。重复这一过程,直到我们遍历完整个链表即可。class Solution {public: bool hasCycle(ListNode *head) { unordered_set<ListNode*> seen;..

2021-02-28 15:52:44 76

原创 线性回归

线性回归简述什么是线性回归?就是用函数来解决具体的实际应用。把一系列特征值作为自变量,目标值作为因变量训练得到一条拟合度良好的函数曲线。单变量线性关系多变量线性关系非线性关系线性回归API假设我们有一组数据:x = [[80, 86], [82, 80], [85, 78], [90, 90], [86, 82], [82, 90], [78, 80], [92, 94]]y = [84.2, 80.6, 80.1, 90, 83.2, 87.6, 79.4, 93.4]

2021-02-28 14:42:00 101

空空如也

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

TA关注的人

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