python
文章平均质量分 55
python从小白到大神的转变,博主和你一起成长。
G_scsd
决胜于千里之外,运筹于帷幄之中。
展开
-
Python连接MySQL数据库连接池
QueuePool 是 SQLAlchemy 内置的一个连接池实现,它可以管理一个连接队列,确保每个连接在使用后被适当地关闭。它支持多种类型的连接池,并使用 threading模块实现线程安全,具有更高的性能和稳定性。SQLAlchemy 中的 QueuePool 和 DBUtils 中的 PooledDB 都是流行的 Python数据库连接池实现,它们具有相似的功能但具有一些区别。连接池的优点是可以在多个线程或进程之间共享,并且可以有效地管理连接数,而无需手动打开和关闭连接。原创 2023-06-20 15:41:08 · 7314 阅读 · 22 评论 -
利用矩阵求两个字符串的最长公共子串
利用矩阵求两个字符串的最长公共子串原创 2022-09-09 16:10:34 · 218 阅读 · 0 评论 -
Tornado自定义路由
默认路由规则代码 由下述代码可知,路由规则都在放在 tornado.web.Application 中,强迫症的我看着不舒服不说,而且如果有多级路由的话就很难搞了,比如说用户模块、不同视图模块等等,前一级路由是固定的,后面是变动的,比如说 /user/add 、/user/delete、/user/update,类似这种的,如果数量多了,某一天user要变成users了,一个个改费时费力,看着还不优雅import tornado.webimport tornado.ioloop...原创 2022-05-27 17:14:18 · 524 阅读 · 0 评论 -
Django的View视图详解
View视图from rest_framework import mixinsmixins.CreateModelMixin, # 创建数据mixins.RetrieveModelMixin, # 单个查询数据mixins.UpdateModelMixin, # 覆盖替换数据mixins.DestroyModelMixin, # 删除数据mixins.ListModelMixin, # 列表查询数据视图的作用Django用“视图”这个概念封装处理用户请求并返回响应的逻辑。视图是一个原创 2022-03-14 21:51:02 · 2219 阅读 · 0 评论 -
Django中使用Celery执行定时任务
这Django中使用Celery执行异步任务里是引用这个是接上一个异步任务的代码定时任务1. tasks.py中新增两个定时方法# 定时任务1@celery_app.task()def my_crontab(x, y): print(x, y) print(f'x 和 y 相加 = {x+y}') return x + y# 定时任务2@celery_app.task()def my_print(): print('一生所爱')3. celery.原创 2021-06-11 17:25:40 · 1165 阅读 · 1 评论 -
Django中使用Celery执行异步任务
DJango中使用Celery异步任务1. 安装pip install celery==4.4.72. 配置2.1 setting.pyCELERY_BROKER_URL = 'redis://127.0.0.1:6379/1'CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/1'CELERY_RESULT_SERIALIZER = 'json'2.2 setting同级目录2.2.1新建celery.pyfrom __future__原创 2021-06-09 14:38:46 · 507 阅读 · 3 评论 -
抓取一嗨租车
一、分析网站 抓取网站的主页:https://booking.1hai.cn/?from=Nav&IsBatch=false 需要选择参数,取车门店、时间等等,不选参数的话,默认的请求对我们没用,通过变更参数才能知道网站是否破解成功 具体分析抓包和请求在代码中会体现出来二、代码import requestsimport datetimeimport randomimport mathimport refrom lxml.html im...原创 2021-01-12 15:29:40 · 1505 阅读 · 4 评论 -
python中threading和concurrent实现多线程
一、threadingimport requestsfrom lxml import etreeimport threadingTHREAD_NUM = 10 # 启动十个线程def request(url): """ 发起请求 :param url: 需要请求的url :return: """ response = requests.get(url) if response.status_code == 200:原创 2020-12-12 19:34:29 · 771 阅读 · 0 评论 -
使用python将数据导入mysql的三种方法
最近经常要将数据导入到mysql中,我写过一次后也是复制粘贴前面写过的,但老是经常忘记写过的放哪去了,索性整理下直接写到博客里面来方法: 1、使用 pymysql 库, 数据一条条插入,或者用Django ORM里面的方法,数据批量插入 2、使用 pandas 库,一次性插入 3、使用 pyspark, 一次性插入(可以不用建表,但是表没有注释, 即 mysql 的 COMMENT,要注释的话可以建空表)方法1:mysql 首先...原创 2020-06-09 21:55:08 · 18318 阅读 · 11 评论 -
pipenv的使用
1. 介绍 pipenv是python官方推荐的包管理工具,这个是编写requests库的大佬写的,它集成了virtualenv, pip和pyenv三者的功能。其目的旨在集合了所有的包管理工具的长处,如: npm, yarn, composer等的优点。自动为项目创建和管理虚拟环境2. 安装pip install pipenv3. 初始化pip...原创 2020-04-30 23:03:18 · 650 阅读 · 0 评论 -
Scrapy基本命令及spider介绍
Scrapy基本命令 1. help:scrapy的基本命令,用于查看帮助信息 列:scrapy -help 2. version: 查看版本信息,可见-v参数查看各组件的版本信息 列:scrapy version –v 3. startproject:用于创建一个工程,并创建一个完整的工程目录 列:scrapy startprojec...原创 2018-05-06 00:02:41 · 3117 阅读 · 0 评论 -
CSS选择器和xpath选择器
CSS选择器 div a::text div下面的a标签的text文本 div.agree h1 a li::text 属性为agree的div下面的h1标签下面的a标签下面的li的文本 div img.mimg::attr(src) div下面的mimg属性的img标签中的src属性中的内容 div ul.a.b.c li::text d...原创 2018-05-06 00:07:56 · 2007 阅读 · 0 评论 -
requests下载单张图片
1. 随便从网上找一张图片,复制其链接,新建一个download_image.py文件,并运行这个文件import requestsurl = 'http://img.hb.aicdn.com/178dbee440c8bc025ff3a31f0f53816a7af647191cf67-td5UxW_fw658'# 请求这个图片urlheaders = { 'User-Agent':...原创 2018-06-21 23:53:01 · 1734 阅读 · 0 评论 -
requests下载多张图片
前面写了如何下载单张图片,这里就来介绍下如何下载多张图片,区别在于多张图片的命名及放入不同文件夹等问题,我这里直接写如一个文件夹下。废话不多说,直接上代码,没有定义函数,对新手很友好,步骤很清晰,写博客的主要原因是想让新手少踩一些坑import requestsfrom bs4 import BeautifulSoupimport reurl = 'https://www.die...原创 2018-06-22 11:41:44 · 3364 阅读 · 0 评论 -
requests爬取小说
首先先选择一个小说网站,随便选择一章内容,url为http://www.biqukan.com/3_3039/1351331.html点击鼠标右键,选择审查元素,查看网页结构查看之后就可以用BeautifulSoup来提取网页中的内容了import requestsfrom bs4 import BeautifulSoupimport reheaders = { 'User-Agen...原创 2018-06-23 21:56:28 · 1587 阅读 · 4 评论 -
requests下载视屏
下载视屏前先获取到视屏的链接,这里我就先随便选取一个src作为参照url为http://www.pearvideo.com/category_9随机选取第一个视屏点击它得到他的MP4格式链接资源,将此资源下载即可src=http://video.pearvideo.com/mp4/adshort/20180623/cont-1373472-12317846_adpkg-ad_hd.mp4接着附上代...原创 2018-06-24 13:14:28 · 1766 阅读 · 0 评论 -
requests爬取数据存入MySQL
爬取鲸鱼阅读这个网站的小说,将小说的名字、作者、类别这三个字段爬取下来存入到MySQL中1. 首先分析网页的结构 我们选取第一页的内容来进行解析 url = http://www.jingyu.com/search/stack?pn=1 根据我们审查元素的结果来看,所有的数据都放在ul这个标签中,每一本小说的信息都在该ul下面...原创 2018-06-27 16:16:12 · 8667 阅读 · 8 评论 -
requests爬取去哪儿网站
闲来无事,所以爬下去哪儿网站的旅游景点信息,爬取网页之前,最重要的是分析网页的架构。1. 选择要爬取的网页及定位自己要爬取的信息 url=http://piao.qunar.com/ 爬取全国热门城市的境内门票首先要得到全国热门城市的城市名及它们背后的链接2. 根据获得的链接进入对应的页面 进一步分析页面,将我们要的数据一个个找出来3. 得到页面的下一页这里我为什么要把后面这张图片拿出来是...原创 2018-06-28 00:26:20 · 5040 阅读 · 4 评论 -
分析ajax爬取果壳网
一、确定要爬取的网页 首先选择要爬取的网页,我要爬取的是果壳网,url为:https://www.guokr.com/scientific/爬取每篇文章的标题、名字、作者、发布时间等信息 二、分析网页 我们每次往下拉的时候都会有源源不断的文章出来,而我们在分析该网页的时候新文章的HTML也是我们往下拉的时候出现的,那么恭喜你了,这个网站的数据放在ajax中了,听到这里就有...原创 2018-07-05 11:39:36 · 736 阅读 · 0 评论 -
requests使用IP代理时测试代理是否有效
以下代码能测试该IP代理是否有效,将代理的IP和代理IP的端口号填入即可# -*- coding: utf-8 -*-import telnetlibprint('------------------------connect---------------------------')# 连接Telnet服务器try: tn = telnetlib.Telnet('61.22...原创 2018-07-30 14:09:19 · 13049 阅读 · 1 评论 -
python爬虫之伪装User-Agent
因为爬虫的需要,所以需要多个user-agent,之前一直也是这样用的,后来接触到了fake_useragent这个包后,一切都变得那么简单简单了,fake_useragent是一个集成了市面上大部分的user-agent,可以指定浏览器,也可随机生成任意一个这里简单做个生成指定浏览器的请求头from fake_useragent import UserAgentua = UserAg...原创 2018-08-06 18:55:54 · 7729 阅读 · 6 评论 -
python之API接口调用
首先什么叫API,API全称又叫做Application Programming Interface,简称应用程序接口,第一次接触接口调用的时候,完全不知道写的啥,因为我看的是整个项目,项目是tornado写的,看了半天的tornado,后来才发现方向走错了,我直接看接口就行了,因为没人告诉我项目的整体流程,只能自己强行看了,只要找到程序的主入口,然后根据一步步函数调用就行了 ...原创 2018-08-06 19:20:01 · 21328 阅读 · 10 评论 -
python爬虫多线程之queue
首先先来介绍下queue这个包吧,这个包叫队列,没错,就是那个和栈反过来的那个队列,大家一听队列就随口说出先进先出,而栈则是后进先出,为什么要用用队列来实现,其实我也不知道,反正用过之后很顺手,具体哪里也说不上来 先来看下队列的内置方法的,我们只需要记住两个,一个是put 放 ,另一个是get 获得,因为我们q = queue.Queue()创建了一个队列后,这个...原创 2018-08-06 20:48:30 · 10319 阅读 · 11 评论 -
python操作MySQL
首先要在pycharm中安装pymysql的包查询版本号import pymysql# 连接MySQL数据库, 本机 用户名 密码 数据库名db=pymysql.connect('localhost','root','123456','zuoye')# 获取光标cursor=db.cursor()# 执行MySQL语句cursor.execute('se...原创 2018-05-31 23:32:03 · 379 阅读 · 0 评论 -
在Linux中安装MySQL
1. 使用xshell和xftp将本地下载好的MySQL传输到Linux中,我的MySQL版本是 mysql57-community-release-el7-11.noarch.rpm2. 下载MySQL yum 仓库,并安装 yum install mysql-community-server -y rpm -Uvh mysql57-commu...原创 2018-04-11 21:47:34 · 490 阅读 · 0 评论 -
spark介绍及RDD操作
Spark Spark的主要部件 Spark core:包含spark的主要功能。功能跟RDD有关的API都出自spark core Spark SQL:spark 中用于结构化数据处理的软件包。用户可以在spark环境下用SQL语言处理数据 Spark streaming:spark 中用于处理流数据的部件 MLlib :spark中...原创 2018-04-04 21:21:08 · 1389 阅读 · 0 评论 -
RDD操作之combineByKey
combineByKey combineByKey 接收三个参数,分别为createCombiner、mergeValue、mergeCombiners createCombiner:用于产生累加器键的初值。如lambda x:(x,1),实现输入RDD[(K,V)]中V到结果RDD[(K,C)]中C的转换,V 和...原创 2018-04-07 14:46:40 · 598 阅读 · 1 评论 -
RDD之键值配对的连接变换
连接变换 join 内连接 rightOuterJoin 右连接 leftOuterJoin 左连接 cogroup 全连接 subtractByKey 减连接cogroup 和subtractByKey 得到的是一个迭代器,要再将它循环输出多次,直至得到值 ...原创 2018-04-07 15:10:41 · 625 阅读 · 0 评论 -
RDD之累加器
先给大家看个列子对比两种方法求和的结果,发现我们定义的函数来求和和我们使用累加器的结果一样,没错,累加器的作用就是对每一个RDD元素进行操作,累加器和分区有关系,其中的关系可以将accumulator(0)中0这个参数改变下或者设置分区来查看不同结果,这里就不一一说了,感兴趣的可以试下,设置分区可这样写:sc.partitions(2),这样分区就设置成两个分区了,但这还是和我们的实际分区有关,加...原创 2018-04-07 15:19:47 · 1188 阅读 · 0 评论 -
SparkSQL和dataFrame简介和用法
SparkSQL 1. Spark中原生的RDD是没有数据结构的 2. 对RDD的变换和操作不能采用传统的SQL方法 3. SparkSQL应运而生并并建立在shark上,伯克利实验室spark生态环境的组件之一 4. SHARK最初很大程度上依赖性HIVE如语法解析器、查询优化器等 5....原创 2018-04-10 16:32:46 · 757 阅读 · 0 评论 -
Linux中环境变量配置错误后如何恢复
我在安装java的jdk的时候时配置环境变量配置错误,导致除了cd命令能用外,其它命名都不能使用,是在/etc/profile下修改了其环境变量,重启之后瞬间懵逼,然后百度了一些方法,其中有一个是在root下输入:export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin 后回车,这时候我们就可以进 vi /etc/profile 里面修改了,...原创 2018-03-22 11:41:38 · 5455 阅读 · 0 评论 -
初识Linux
什么是Linux呢,Linux是一个开源的操作系统,可以做pc的操作系统也可以做服务器的操作系统,我们最熟悉的Andorra内核就是Linux,Linux不同于window,它没有多个盘符,只有一个 / ,这个斜杠就是代表总的盘,Linux的目录结构是倒立的树型这个和我们命令中显示的一样,只不过上面显示的更直观而已这上面我用箭头标注出来的分别是home 和root目录,其中root目录是用来存放...原创 2018-03-22 15:27:49 · 582 阅读 · 0 评论 -
Linux常用命令大全
Linux命令格式command -options parameter 命令 选项 参数带 - 就说明是选项,不带 - 则说明是选项,选项可以叠加,比如 ls -l -a -h 可写成ls -lah,没有先后顺序之分关于用户的命令: 创建用户: adduser user 或者 useradd user 删除用户 : userdel user ...原创 2018-03-24 15:05:10 · 437 阅读 · 0 评论 -
Linux之编辑器之神-vim
先给大家来看下vim编辑器的三种模式及三种模式之间的跳转这个vim编辑器是vi的加强版,命令通用首先我们来介绍下vim 的三种模式吧,我们使用vim t.txt 后,会进入到命令模式,在这个模式下,输入的然后东西都会当做命令来使用我们可以按i,a,o来进入编辑模式编辑模式: i : 在光标之前输入 a : 在光标之后输入 o : 在光标的上一行输入 I : 在行前输入 ...原创 2018-03-24 15:10:49 · 561 阅读 · 0 评论 -
使用hadoop的前期工作之安装jbk
我们在使用hadoop之前都要先导入java的jbk压缩包,我使用的版本是jbk-8u152-linux-x64.tar.gz,我们先切换到root用户,使用xshell中的文件传输,然后xshell会自动调用xftp,将该压缩包导入到hadoop用户下面,我们在切换回hadoop用户将它解压到我们在hadoop用户下的opt文件夹中,这里一定要看清,opt文件夹所属的文件所有者和所在的用户组一定...原创 2018-03-29 10:20:01 · 759 阅读 · 0 评论 -
安装hadoop及其配置和静态网络配置
1. 首先导入hadoop的压缩包,并解压到hadoop用户下的一个叫opt目录中,并把环境配置好,先进入到hadoop用户下面的opt文件中,opt文件中存放着我们解压了的hadoop-2.7.5我们进入这个路径,当前路径为这时候我们就在该路径下配置我们的环境变量首先定义一个变量,将我们这个路径存起来,要不然手打的话很麻烦然后我们来配置HADOOP_HOME,这个是告诉系统hadoop文件的主体...原创 2018-03-29 13:51:42 · 1652 阅读 · 0 评论 -
hadoop伪分布式集群ssh免密码登录
来配置我们的ssh无密码登录到slave1和slave2上1. 首先检查每个虚拟机是否安装了ssh和启动了sshd服务如果没有安装的话要执行以下代码这个命令要在root下运行,因为hadoop用户还没有这个权限这个命令是安装ssh的客户端和服务端2. 然后我们切换到hadoop用户下,运行ssh localhost命令,这个命令会生成 .ssh隐藏文件夹,遇到提示就输入yes3. 我们要进...原创 2018-03-29 14:24:15 · 3494 阅读 · 0 评论 -
简单使用hadoop
我们在前面搭建好hadoop后,接下来就要使用该hadoop了,但是在hadoop下面什么都没有,连根目录都没有,这都要我们来创建 首先使用 hadoop fs -mkdir -p /user/gscsd我们在这里使用-p是逐步创建,先创建根目录/,然后在创建user目录,user目录下又创建了gscsd目录我们来查看下,看到以下这个就说明我们已经创建好目录了然后我们再接着上...原创 2018-04-02 21:35:12 · 590 阅读 · 0 评论 -
如何安装并使用pyspark
1. Anaconda的安装 (1)我们要把本地Anaconda上传到Linux上,我们使用xshell中的文件传输,它会自己运行xftp,前提是我们要有xftp上传后我们来运行这个文件,但我在运行过程中它提示我要安装一个bzip2的东西,我这里就先写一下吧 (2)安装bzip2 安装软件要切换到root用户下才能够使用,因为普通用户没这个权限 在ro...原创 2018-04-02 22:32:37 · 7503 阅读 · 1 评论 -
hadoop伪集群之namenode和datanode未启动修改方法
今早一来,突然发现使用-put命令往HDFS里传数据传不上去了,抱一大堆错误,然后我使用bin/hadoop dfsadmin -report查看系统状态admin@adw1:/home/admin/joe.wangh/hadoop-0.19.2>bin/hadoop dfsadmin -reportConfigured Capacity: 0 (0 KB)Present Capacity:...转载 2018-04-10 11:28:04 · 608 阅读 · 0 评论