摘要: 1.JS 三元表达式 前置条件 ? 结果一 : 结果二; 不管写成什么格式,都按照这样去看 2.xpath小语法 res= requests.get('url').text html = etree.HTML(res) # 取出包含文章主体 content= html.xpath('//*body[ 阅读全文
posted @ 2020-12-03 17:22 黑山老道 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 开始水第三篇,哈哈哈哈 URL:http://match.yuanrenxue.com/match/3 老规矩:F12,刷新 上面两个一个是名单,一个是空,所以此次请求有关的就是在下面两个 logo后面的状态码是202,看下202状态码的解释: 点击,打开我们看一下 就是一个链接,再看看其他的 PO 阅读全文
posted @ 2020-10-27 14:36 黑山老道 阅读(643) 评论(0) 推荐(0) 编辑
摘要: 开始水第二篇,哈哈哈 http://match.yuanrenxue.com/match/2 题目是介样的,老规矩F12,刷新~ 这个cookie一看就有问题哈,查看了一会儿再点第2页,漂亮,提示cookie失效,很明显嘛,这就是个cookie反爬 清空一下cookie 直接右键清除,再次刷新 第一 阅读全文
posted @ 2020-10-27 11:54 黑山老道 阅读(1504) 评论(0) 推荐(0) 编辑
摘要: 水一篇,和大佬们的差距不是一丁点的大啊~~~~~ URL:http://match.yuanrenxue.com/match/1 就是计算所有费用的平均值。 F12,debugger出现 右键点击,选择箭头这个 接下来刷新,就可以跳过debugger了查看网络面板 明显的XHR请求 看一下请求参数 阅读全文
posted @ 2020-10-26 18:37 黑山老道 阅读(1798) 评论(0) 推荐(2) 编辑
摘要: 简单描述: 需要连接redis,redis传入数据时,取数,传递给爬虫进行采集, 没有数据时,保持连接,时长短则几分钟,长则几小时没有数据流动 socket错误:1008..具体多少记不住了,可以成功连接redis,但是被强制断开 client = redis.Redis(..., health_c 阅读全文
posted @ 2020-10-16 14:40 黑山老道 阅读(7636) 评论(0) 推荐(0) 编辑
摘要: 1.查看是否安装redis which redis whereis redis ps -aux | grep redis ps -ef|grep redis # 假如得到了进程号 9527 然后用命令 ll /proc/进程号/cwd ls -l /proc/进程号/cwd 2.安装redis 官网 阅读全文
posted @ 2020-10-12 17:37 黑山老道 阅读(1011) 评论(0) 推荐(0) 编辑
摘要: 1.这个项目是滑块缺口验证码,第一页点击滑块正常执行通过,第二页报错。 perform无法执行,网上找了很多办法,如下: 1.升级浏览器,本来就是权森版本 2.升级驱动,本来就是权森版本 3.升级selenium从3.1到3.4版本,说实话,惊呆我了,3.4特么的没有pause这个方法,手动滑稽~, 阅读全文
posted @ 2020-09-29 15:23 黑山老道 阅读(5889) 评论(0) 推荐(0) 编辑
摘要: 情况复述:Linux+redis+python,通过python代码向redis中写入数据,前几周都能正常运行,今天突然不行了。因为需要从线下取数,进行爬取操作,急需解决。 1.测试线下代码插入redis是否成功,取数是否成功 2.查看线上是否只有一个redis数据库,是否有多个开放端口,密码是否修 阅读全文
posted @ 2020-09-22 15:47 黑山老道 阅读(3251) 评论(0) 推荐(0) 编辑
摘要: 首先哈,记录下这次奇怪的服务器部署情况。 pycharm中的代码原封不动的上传到服务器上,提供几个接口服务,本地提供接口都很ok, 上传到服务器上整体GG思密达~ 这个项目属于二次维护,linux + 爬虫 + 简单的flask的demo + mysql,爬虫部分所有的接口代码都弄好了, flask 阅读全文
posted @ 2020-08-25 14:21 黑山老道 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 有这么一张表: 里面的技术重复了2次,采购重复了一次。 使用如下语句: select * from test GROUP BY name HAVING COUNT(*) >1 效果如下: 可以看到返回的值与重复的次数不一样。 select * from test where name in(sele 阅读全文
posted @ 2020-07-23 13:12 黑山老道 阅读(1234) 评论(0) 推荐(0) 编辑
摘要: 废话不多说,直接上干货! 1.随便创建个django项目,再随便整个startapps,一个原生的项目就出来 2.拽到服务器上,这里我用xshell和xftp6进行连接服务器和操作文件,该说不说,想直接改代码还是麻烦的一批 3.如果服务器上没有装sqlite3,先建议装一下,我这个服务器上版本太低, 阅读全文
posted @ 2020-06-30 13:32 黑山老道 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 问题情景:遇到一个Django项目,是一个数据展示的界面,类似商品展示 需求: 需要加上登录和注册功能 进展: 在models文件中新增user表后,执行以下两条命令皆无任何响应。 1 python manage.py makemigrations 2 python manage.py migrat 阅读全文
posted @ 2020-06-24 15:32 黑山老道 阅读(1271) 评论(0) 推荐(0) 编辑
摘要: 一:文件记录数据库操作日志 查看是否开启日志服务,以及查看日志文件路径 show variables like 'gen%'; 如果没有开启,先设置开启 set global general_log=ON; 二 :数据库自己记录日志 show variables like '%log_output% 阅读全文
posted @ 2020-06-16 14:38 黑山老道 阅读(2896) 评论(0) 推荐(0) 编辑
摘要: 简介:Tenacity是一个通用的retry库,简化为任何任务加入重试的功能。 不懂这个库怎么用, 很简单,哦对了,可能还需要你知道装饰器就是那个@啦就够了,上菜! import tenacity import requests # 直接加上retry装饰器,代码抛出异常会一直重试,直到代码运行成功 阅读全文
posted @ 2020-06-15 17:05 黑山老道 阅读(378) 评论(0) 推荐(0) 编辑
摘要: 这个系列第三篇——sched模块 直接上代码: from datetime import datetime import sched import time def timedTask(): # 初始化 sched 模块的 scheduler 类,传入(time.time, time.sleep)这 阅读全文
posted @ 2020-06-05 14:40 黑山老道 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 上一篇说了最简单的定时启动,可以说是最简单粗暴的,人生苦短,python优雅,有没有那种很简单很简单,几行代码就可以搞定的那种? 必须有的哈! 简单举个例子说一下,上一篇的末尾提到过需要考虑到其他因素,这就来了: 现在需要启动一个selenium的爬虫,使用火狐驱动+多线程,大家都明白的,现在电脑管 阅读全文
posted @ 2020-06-05 14:11 黑山老道 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 记得以前的windows 任务定时是可以的正常使用的,今天试了下,发现不能正常使用了,任务计划总是挂起。 接下来记录下python 爬虫定时任务的几种解决方法。 今天是第一篇,后面会陆续更新。 首先最容易的是while true死循环挂起,上代码 import osimport timeimport 阅读全文
posted @ 2020-06-05 13:38 黑山老道 阅读(396) 评论(0) 推荐(0) 编辑
摘要: python日期格式转换,上代码。 import time import datetime time_str = 'Jun 18, 2016' time_format=datetime.datetime.strptime(time_str,'%b %d, %Y') print(time_format 阅读全文
posted @ 2020-06-03 20:24 黑山老道 阅读(1002) 评论(0) 推荐(0) 编辑
摘要: 返回当前工作目录的方式有很多,在此不一一列举。 复制代码下来还跑不通,相信大家已经有过这样的经历,下面贴一下百度排名前几的代码。 简单意思就是遍历目录下的文件夹,寻找.py文件,拼接路径,执行文件,整体看没什么,实际情况呢,就是我亲身测试在pycharm和vscode中都只能打开其他的py文件,根部 阅读全文
posted @ 2020-05-28 16:56 黑山老道 阅读(1315) 评论(0) 推荐(0) 编辑
摘要: 1 assoc .py=Python.File 2 assoc .pyw=Python.File.NoConsole 3 ftype Python.File="D:\anaconda3\python.exe" "%%1" %%* 4 ftype Python.File.NoConsole="D:\a 阅读全文
posted @ 2020-05-13 22:54 黑山老道 阅读(2509) 评论(0) 推荐(0) 编辑
摘要: pycharm控制台输入: 1 pip freeze > requirement.txt ##迁移requirement文档 将这个txt文档拷贝到新环境里的项目目录下 再次输入: 1 pip install -r requirement.txt 阅读全文
posted @ 2020-05-13 16:14 黑山老道 阅读(579) 评论(0) 推荐(0) 编辑
摘要: 网上资源参差不齐,找了很多文件,直接上代码,后续深究继续补充,上代码: 1 def gen_driver(self) -> Firefox: 2 """ 3 生成一个driver 4 generate a driver 5 :return: webdriver 6 """ 7 # 火狐配置文件, 8 阅读全文
posted @ 2020-05-13 09:45 黑山老道 阅读(1631) 评论(0) 推荐(0) 编辑
摘要: 问题:迁移项目运行环境出现:OSError: [WinError 193] %1 不是有效的 Win32 应用程序这个错误 思路: 1.selenium模块是否可以正常打开网页,如果不可以,解决办法如下: 1.1 查看系统是多少位的,查看python为32位还是64位,查看驱动为32位还是64位,3 阅读全文
posted @ 2020-05-12 13:53 黑山老道 阅读(5767) 评论(0) 推荐(0) 编辑
摘要: 报错信息: [10108] 15 Jan 11:04:56.622 # Creating Server TCP listening socket 127.0.0.1 按照以下命令输入: 1.Redis-cli.exe2. shutdown3. exit4. redis-server.exe redi 阅读全文
posted @ 2020-01-15 11:09 黑山老道 阅读(8194) 评论(0) 推荐(0) 编辑
摘要: 安装的是4.2版本的MongoDB,下载下来msi文件以后,一路下一步下一步,然后选择Custom(自定义), 之后选择相对应的安装路径,因为C盘快满了,安装在了D盘,出现“install mongoDB罗盘”的时候把小勾取消掉,直接安装即可。 安装好了以后,目录大概是这个样子: 有bin,有dat 阅读全文
posted @ 2020-01-15 10:53 黑山老道 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 首先在conda里面搜不到 pycharm也一样。 pip报错.... conda install -c simonflueckiger tesserocr pillow用这句就中。 亲测有效。 阅读全文
posted @ 2020-01-15 09:44 黑山老道 阅读(436) 评论(0) 推荐(0) 编辑
摘要: 安装Tesseract-OCR试运行报路径错误,将Tesseract-OCR的语言包转至Scripts同级目录下。 然后尝试运行下,如果还有问题,将tesseract整个文件夹的路径添加至环境变量,系统和用户都添加上再次尝试。 阅读全文
posted @ 2020-01-15 09:38 黑山老道 阅读(479) 评论(0) 推荐(0) 编辑
摘要: pip升级以后,再安装一些其他的包,发现如下错误: 列出以下国内pip源: 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣(douban) http://pyp 阅读全文
posted @ 2020-01-13 16:16 黑山老道 阅读(713) 评论(0) 推荐(0) 编辑
摘要: Sql server 主表ID突然从200增长至1000多,以前忽略未处理,现在重新拿出来处理 解决方法1:(创建表时使用此方法) 使用序列: CREATE SEQUENCE Id_Sequence AS INT START WITH 1 INCREMENT BY 1 MINVALUE 0 NO M 阅读全文
posted @ 2020-01-10 10:47 黑山老道 阅读(683) 评论(0) 推荐(0) 编辑
摘要: 重装主机硬件后,开机登陆Sql server管理工具,无法找到使用的数据库,只有系统库,使用use语句无法使用该库,select语句错误。 方法一: 如果可以登陆Sql server配置管理工具,即下方图片: 随后: 如果无法正常登陆配置管理工具,比如像我一样: 问题不大,打不开配置工具就没整了吗? 阅读全文
posted @ 2020-01-07 09:57 黑山老道 阅读(3617) 评论(0) 推荐(0) 编辑
摘要: 今天找了一个国外的网站练手,页面不是很难,就类似于主页面下面有很多子页面,使用火狐浏览器+xpath helper ,一切都像平时那样的随意,一切都很平常,但是在运行的时候将解析出来的数据进行打印,毫不犹豫的给到我了4个【】 ,ok没关系,代码出错了还好,接下来就从界面开始一点点的分析,沃德天,和我 阅读全文
posted @ 2019-09-18 17:35 黑山老道 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 统计Sqlsever数据库中数据的一些小偏方: 阅读全文
posted @ 2019-08-28 17:18 黑山老道 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 最近涉及到一个项目,需要从大量的书籍中提取出需要数据,ok~对我这个小弱鸡其实真的有点难,在调用百度图片识别的接口发现无法将图片数据提取出来,数据为空!!! 万能print()一行行的打印发现接口无法识别JPG后缀的图片,怎么办呢?Python是万能的嘛,直接搞就阔以啦~ 代码如下: 1 impor 阅读全文
posted @ 2019-08-12 17:23 黑山老道 阅读(2201) 评论(0) 推荐(0) 编辑
摘要: Requests 参考文档:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html 1 import requests 2 response = requests.get('http://www.baidu.com') 3 阅读全文
posted @ 2019-07-14 10:40 黑山老道 阅读(631) 评论(0) 推荐(0) 编辑
摘要: Urllib 官方文档地址:https://docs.python.org/3/library/urllib.html 其主要包括一下模块: urllib.request 请求模块 urllib.error 异常处理模块 urllib.parse url解析模块 urllib.robotparser 阅读全文
posted @ 2019-07-13 19:10 黑山老道 阅读(1957) 评论(0) 推荐(0) 编辑
摘要: 超过三个月的时间没有敲过代码了,突然再次接触代码实在有点痛苦,渣渣笔记本再次开机时间很长,好吧,没关系,忍受不了就重装系统,nice! 重装以后什么都重新下载安装也是比较痛苦的,像什么IDE、MYSQL、PYCHARM、ANACONDA,之后就各种pip 在pycharm中装scrapy中报错了, 阅读全文
posted @ 2019-07-13 11:39 黑山老道 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 1. 创建函数 一个函数代表一个行为并且返回一个结果(包括None),在Python中使用def关键字来定义一个函数,如下: 接下来调用函数,并查看其返回值: 可以看到hello函数首先打印了:Hello,gy!,然后我们又将其返回值也打印出来,在这里因为没有返回具体的值,所以返回了None。 下面 阅读全文
posted @ 2018-11-08 16:19 黑山老道 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 1. 赋值语句常用技巧 通过序列解包(sequence unpacking)可以将多个值的序列解开,让后一一放置到变量的序列中。解包的序列中的元素必须和等号左边变量数量一致。如下: 1.2 链式赋值 通过使用链式赋值(chained assignment)可以将一个值同时赋给多个变量,如下: 1.3 阅读全文
posted @ 2018-11-08 16:00 黑山老道 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 字典是Python内建的六种序列之一。字典作为一种常用的数据结构,字典中的值没有特定顺序,每个值都对应于一个唯一的键。键可以是数字、字符串甚至是元组。 1. 创建和使用字典 Python中字典可以使用下面的语法来直接创建字典对象: 字典由多个键以及对应的值组成,每个键及其对应的值为一项。上面的示例中 阅读全文
posted @ 2018-11-08 15:03 黑山老道 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 字符串是零个或多个的字符所组成的序列,字符串是Python内建的6种序列之一,在Python中字符串是不可变的。 1. 格式化字符串 字符串格式化使用字符串格式化操作符即百分号%来实现。在%左侧放置一个字符串(格式化字符串),而右侧则放置希望格式化的值(可以是元组或字典等)。 注意: 如果格式化里面 阅读全文
posted @ 2018-11-08 14:51 黑山老道 阅读(304) 评论(0) 推荐(0) 编辑