自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

legendary_Dragon的博客

记录自己的学习心得

  • 博客(43)
  • 收藏
  • 关注

原创 Centos+uwsgi+nginx+django遇到的问题

一、sqlite版本问题Centos自带的sqlite版本过低,安装官网最新的版本后,根据网上的大部分教程可以使Python中import sqlite3 为最新版本,并且使用django时,python manage.py运行时也不会报错。但是使用uwsgi启动,仍然会显示版本问题。解决办法删除原来的版本并且安装新的版本步骤:1.备份旧版程序利用命令找出旧版本的位置,将原来的程序拷贝为sqlite3_back作为备份,同时删除/usr/lib64/libsqlite3.so.0以及/usr/l

2021-05-26 16:51:48 292

原创 Sublime去掉换行添加引号

有些场景需要把一列数据转化为一个列表打开sublime–>>ctrl+h(调出替换的工具)–>>如下图所示

2020-11-04 10:53:54 541

原创 正则去除xpath取到的所有html标签中的属性

因为最近有一些特殊需求,需要剔除xpath取到的所有标签的所有属性。代码如下,有bug可以和我反馈。import refrom lxml import etreehtml = """<div class="box"><h1><strong id="d7" class= "k8">测试</strong></h1><div><p></p></div></div>"""doc = et

2020-08-21 15:40:58 757 1

原创 用xpath获取该标签下的所有子标签和文本

xpath获取该节点下(所有标签和文本组成的字符串)需要获取子标签以及文本内容时使用此方法,如果只是想获取所有子标签里面的文本,参考另一篇博客。from lxml import etreehtml = """<div class="box"><h1> Keywords <span></span></h1><div><p>关键字内容</p></div></div>"""doc =

2020-08-20 08:59:03 6390 1

原创 sublime如何去掉换行符

1、选中需要操作的行2、Ctrl + H 调出替换栏3、在 Find 栏中输入(同时按这三个键) Ctrl + Shift + Enter , Replace 栏不填4、按Replace All

2019-11-26 18:48:17 5602 1

原创 xpath 定位同级倒数第二个元素

xpath 定位同级标签的倒数第一个a标签//div[contains(@class, 'paginator')]/a[last()]xpath 定位同级标签的倒数第二个a标签//div[contains(@class, 'paginator')]/a[last()-1]

2019-11-14 15:25:20 9133

原创 xpath定位相邻的前N位或者后N位元素

# 前一位:../div[@="class"]/preceding-sibling::div[1]# 后一位:../div[@="class"]/following-sibling::div[1]# 前N位:../div[@="class"]/preceding-sibling::div[N]# 后N位:../div[@="class"]/following-sibling::d...

2019-11-05 10:25:37 1043

原创 远程重启windows机器

2019-11-05 09:05:45 1192

原创 Python:key没有引号的字符串如何转json

如果一个字符串是如下类型的,直接用json.loads()import jsonmsg = "{'name': 'CP', 'id': '', 'pageno': 1}"dic = json.loads(msg)如果字符串的key值没有引号,用demjson.decode()import demjsonmsg = "{name: 'CP', id: '', pageno: 1}"d...

2019-09-03 11:10:18 3894 1

原创 如何给网页拿到的headers加引号(或者给json数据加引号)

1. 把数据复制到sublime2. control+a全选文本 —> control+shift+l 光标到最右边 —> 输入",这样左右两边的引号搞定3. 取消第2步全选文本 —> 把光标移动到第一个冒号后面 —> alt+f3 —> 左右移动输入引号 —> 大功告成...

2019-08-26 17:02:20 812

原创 CentOS7修改系统编码

2019-08-08 09:12:15 482

原创 CentOS7 开机自动挂载

2019-08-08 09:11:07 453

原创 使用xshell上传、下载文件(使用sz与rz命令)

使用xshell连接服务器,上传下载文件最简单的方式是使用rz和se命令。只需要在服务器上安装yum install lrzsz中间输入 y,然后回车等待安装完毕。上传文件时,直接输入rz然后,你的文件目录会弹出来,选择需要上传的文件就行了。下载文件时,直接输入sz 和 文件名称sz demo(要下载的文件名称)这种方式是xshell连接下比较简单的一种方式。...

2019-07-09 14:21:08 544

原创 scrapy发送post请求

一些请求,用requests或者postman没有问题,而用scrapy出现问题。一部分原因是因为headers写的不够准确,还有一部分则是因为参数的原因。scrapy发送post请求,参数的value必须是字符串,requests则没有那么严格。def start_requests(self): yield scrapy.FormRequest( url='https:...

2019-06-14 09:13:08 2521

原创 用xpath判断网页上的某个字段是否存在

数据采集时,多个同类型网页上字段种类、数量可能不一致。有时需要我们判断该字段是否在网页上,使用xpath可以用标签包含某个文本的方式。部分代码如下:在不知道Checks for plagiarism字段是否存在的情况下,可以用try: pq = doc.xpath("//p[contains(text(),'Checks for plagiarism')]")[0]except Exce...

2019-05-30 14:24:58 4796

原创 爬虫如何规避掉DDOS的页面停留五秒后显示

写爬虫的时候,经常会遇到防DDOS攻击的网站,需要在页面停留几秒后,才能正确打开首页。本来我是用的chromedriver的headless模式,但是因为要打开一个真实的浏览器,这种做法非常的消耗资源。后来,使用V8引擎调用javascript发现也不能很好的解决我的问题,最后在github上发现了cloudflare-scrape项目,可以成功规避掉DDOS的问题。最后附上项目的github...

2018-12-10 10:56:25 4798

原创 xpath匹配父标签下的最后一个标签(相同父标签下子标签个数不一致的情况)

有时候,相同的父节点下面的标签个数不一致,一个父节点下面是两个标签,另一个父节点下面是三个标签。但是我们又想要把只有两个标签的父节点也记为三个子节点,并且把它最后一个节点的值记为None。可通过伪造的第三个标签和第二个标签比较,判断是不是应该为None。如果子节点的标签也不一致,可以如下方式,这种情况比较少见://div[contains(@class, 'tv')]/child::node...

2018-12-04 16:34:16 4825

原创 ERROR 'latin-1' codec can't encode characters in position 81-86: ordinal not in range(256)问题解决

使用pymysql时,出现了编码问题,可以在连接时进行声明:db = pymysql.connect('{}'.format(host), '{}'.format(username), '{}'.format(pwd), '{}'.format(database), use_unicode=True, charset="utf8")...

2018-10-18 16:00:45 579

原创 关于数据库字段命名与实体类命名选择驼峰还是下划线

因为数据库字段、索引对大小写是不敏感的,驼峰标识无意义;所以一般采用数据库字段下划线, 实体类驼峰的命名方式

2018-09-20 14:39:27 11860

原创 Column count doesn't match value count at row 1(Python操作MySQL数据库时的报错)

首先,这个错误的意思是,我们插入数据库的列与数据库中的列不是一一对应的。当使用Python操作MySQL数据库时,如果id是自增,或者timestamp是自动生成的时候,我们不能采用"INSERT INTO 表名 VALUES (%s, %s, %s, %s, %s, %s, %s)"这种简写的方式是不对的。应该把列的字段名一一对应起来"INSERT INTO 表名 (...

2018-09-17 17:29:16 1004

原创 flask中的跨域问题和json格式返回

python的后端框架都有关于跨域的方法,flask也不例外, flask的跨域解决只用两行代码就可以搞定了。from flask import Flaskfrom flask_cors import *app = Flask(__name__)CORS(app, supports_credentials=True)关于flask的return返回我用json.dumps()发...

2018-08-09 14:16:13 717

原创 用xpath获取指定标签下的所有text

今天用xpath获取的元素下面text 是被几个b标签分割开的,我想要一次性全部获取,参考了其他人的博客是如下的做法:value_ls = html.xpath("//tr/td[7]")value = value_ls[0].xpath('string(.)').extract()[0]但是因为我用的是 lxml, 系统报错,lxml元素没有extract() 这个方法,去掉这个方...

2018-08-04 16:08:50 13827 5

原创 Scrapy如何获取返回的headers里面的多个Set-Cookie

爬虫有时候需要先拿到cookie, 然后再用cookie去访问其他页面。当遇到返回的response的headers中包含多个Set-Cookie时,如何获取呢? 如果直接用requests模块:#获取响应的cookie html = requests.get(url,headers=Head,verify=False,timeout=maxExcuteTime) ...

2018-07-30 16:38:46 7489

原创 Scrapy 的headers中cookie不生效的问题

scrapy的cookie不生效,需要在项目的settings文件中修改# Disable cookies (enabled by default) .COOKIES_ENABLED = False这样你spiders中的cookie才会生效

2018-07-28 13:44:55 2286

原创 Python 在mysql数据库中插入空值

Python中没有NULL,只有None,操作mysql数据库时,当某个值为空,不能使用下列插入语句# 错误案例a = Nonecursor = db.cursor()sql = "INSERT INTO 表名 VALUES ('%s')" % acursor.execute(sql)db.commit()应该使用下列这种方式操作# 正确案例a = Nonecur...

2018-07-27 21:18:59 16515 6

原创 Python 项目依赖模块管理(自动生成requirements.txt和安装)

首先,建议初学者每个项目用单独的env,否则用这种方式收集依赖会把你本地的所有模块版本都导出来,env的创建,我上一个帖子有。 1. 导出env中的模块到requirements.txtpip freeze &gt; requirements.txt2.安装已有requirements.txt的项目依赖pip install -r requirements.txt第一个命...

2018-07-21 14:54:47 3173

原创 Python创建虚拟环境(Windows and Linux)virtualenv

1.Window 下创建envvirtualenv -p D:\...python.exe +环境名称2.Linux下的env下载sudo apt-get install python-virtualenv3.Linux创建env# 我用的是Python3virtualenv -p /usr/bin/python3 环境名称4.进入虚拟环境source...

2018-07-21 13:54:52 340

原创 更改国外服务器的时区

一条命令就可以搞定ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime然后用date查看当前时间,发现时间已经正常

2018-07-14 17:10:33 2622 1

原创 如何安装Python的yaml包(windows 和 Linux)

windows:pip install pyyamlLinux:sudo apt-get install python-yamlsudo yum install python-yaml希望可以帮到你!!!

2018-07-05 15:33:09 57894 1

转载 Python字典中的键映射多个值(列表或者集合)

一个字典就是一个键对应一个单值的映射。如果你想要一个键映射多个值,那么你就需要将这多个值放到另外的容器中, 比如列表或者集合里面。比如,你可以像下面这样构造这样的字典:d = { 'a' : [1, 2, 3], 'b' : [4, 5]}e = { 'a' : {1, 2, 3}, 'b' : {4, 5}}选择使用列表还是集合取决于你的实际需求...

2018-07-02 16:55:12 26055

原创 No matching distribution found for create_connection(Python-websocket问题解决方案)

当在服务器上使用python-websocket的create_connection时,可能会弹出上述问题,此时需要安装pip3 install websocket-client希望可以帮助到你!!!

2018-06-29 18:38:17 6032

原创 新的Linux服务器上python的pip包最正确的安装姿势(Ubuntu)

Debian/Ubuntu Python 2: sudo apt install python-pipPython 3: sudo apt install python3-venv python3-pip更多系统的安装请参考官网链接: https://packaging.python.org/guides/installing-using-linux-tools/#installi...

2018-06-29 18:27:09 1289

原创 scrapy项目在Linux服务器上的部署

scrapy项目在Linux服务器上部署时,如果不想采用scrapyd(官方文档)的方式。启动命令如果使用scrapy crawl {spider},执行一次就会停止,如果使用死循环的cmdline方式也是执行一次就停止。最后在网上看到使用subprocess.Popen()方法,这个方法可以保证能够循环执行。但是,如果需要在liunx服务器上跑的话,还是需要加上shell=True这个参...

2018-06-27 09:57:53 2874

原创 匹配去掉html标签

import rehtml = """&lt;p style="text-align:left;"&gt;&lt;span style="font-size:12.0pt;font-family:KaiTi;"&gt;注意:DAG未来6个月会有6次空投,空投数量总共为3000万个,请用户知悉!&lt;/span&gt;&lt;/p&gt;""&quot

2018-06-19 11:41:03 572

原创 weex图片

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I ...

2018-04-17 17:07:54 656

原创 Ubuntu下的文件打包与压缩

关于打包:将多个不同的文件,用一个文件封装,包含在一个文件中。也是一种文件压缩方式,只不过压缩比例较小(1M->0.9M),主要是操作效率较快通常用在文件整理上(我们项目的日志整理、项目的文件整理,文件传输等等)打包命令:tar (她抱 tar包)文件打包:所有文件打包:tar -cf 压缩包.tar * [不推荐]指定文件打包:tar -cf 压缩包.tar [要打包的文件列表]查看压缩包中的

2017-12-14 18:31:34 7241

原创 在ubuntu下安装mysql数据库

第一步: 如果你的ubuntu是刚安装的,建议你先用sudo apt-get update 把你的系统更新一下,如果你的系统已经更新过了,那么直接开始下面的操作吧。第二步: 直接在你的ubuntu命令行中输入 sudo apt-get install mysql-server mysql-client 只要这小小的一行代码你就可以安心等待mysql数据库的安装了。这里注意一点中间会弹出一个输入

2017-12-14 18:23:03 1861

原创 mysql 数据库在windows下安装

声明:此方法主要针对的是用压缩包方式安装mysql,而我也推荐大家使用这种方式安装。第一步: 首先把压缩文件解压到一个非中文路径的文件路径下,不建议直接放在C盘。然后打开文件夹里面有bin,data…一些文件。第二步: 打开其中的my.ini配置文件,可以用记事本打开。然后把basedir 和 datadir改为你自己的文件路径。如图所示。(这里的是我自己的...

2017-12-14 18:20:35 236

原创 3. tornado的第一个小程序

准备好了python环境、安装好tornado之后,就可以开始写第一个简单的tornado项目了。创建我们的第一个程序:test.py# 引入需要的模块from tornado.web import Application, RequestHandlerfrom tornado.ioloop import IOLoop# 定义核心控制器class CoreHandler(RequestHand

2017-11-07 16:39:45 479

原创 2. tornado的安装

自动安装pip install tornado使用tornado,首先确保开发环境中包含tornado模块的支持(部分版本可能不支持windows)手工安装# 下载tornado源代码压缩包tornado-4.5.2.tar.gz# 解压压缩包tar -zxvf tornado-4.5.2.tor.gz# 进入解压后的目录,编译源代码python setup,py build# 开始安装

2017-11-07 16:15:17 1756

空空如也

空空如也

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

TA关注的人

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