部署一个flask服务记录 最近使用flask写了一些简单的服务。服务部署到服务器上进行使用,这个过程会有一些问题,需要进行记录一下。说明运行的环境情况。使用的是python3.6的虚拟环境,系统是centos7,其他的有uwsgi,supervisor,ngnix。首先准备一个简单的flask服务。代码ipapp.py:# encoding=utf-8# date: 2...
Python SSLError 最近老是遇到这个问题。SSLError(SSLError(1, '[SSL: CERTIFIC ATE_VERIFY_FAILED] certificate verify failed (_ssl.c:841)'))错误代码841,结果是Fiddler没关,好吧。搜半天,真的浪费时间。写一些比较常见的错误解决办法,暂时不知道代码,遇到再更新。1.设置veri...
Python爬虫之XML 一、请求参数形式为xml 举例说明。 现在有这样一个网址:https://www.runff.com/html/live/s1484.html;想要查询图片列表,打开F12,观察到请求如下: 这里的请求参数形式为xml,使用python模仿请求的代码这样写import requestsfid = 37488...
造一个轮子然后安装到pypi上 之前写了一个爬虫的包,主要是根据自己写爬虫的情况总结一下。 因为每次都要重复写一些代码,所以提炼出来,类似一个框架的样子吧。 开始是放在自己的项目里引用,但如果换了一个项目,就得重新拷一遍,很麻烦。 后面又学到了,放在site-package里面可以在自己的环境引用,但换一个环境也是不行的,于是想到放到pypi上面,可以直接pi...
一次简单粗暴的验证码识别经历 最近爬取一个网站时,遇到了验证码的情况。验证码形式是计算题,10以内的数字(可能有少量十以上),加减乘计算。 开始懒得搞,第一批需要的数据量并不大,想着直接平台打码。 原因是以前登录新浪微博的时候也是直接打码的,比较熟练,也简便。但打码成本比较高,后续需求量大,所以最好自己能识别。 看了几篇识别验证码的文章,基本处理流程如下: 1.去掉颜色;灰度处理,二值...
python爬虫常用之Scrapy 中间件 一、概述 1.中间件的作用 在scrapy运行的整个过程中,对scrapy框架运行的某些步骤做一些适配自己项目的动作. 例如scrapy内置的HttpErrorMiddleware,可以在http请求出错时做一些处理. 2.中间件的使用方法 配置settings.py.详见scrapy文档 https://do...
python爬虫常用之Scrapy 简述 一、安装 pip install scrapy. 如果提示需要什么包就装什么包 有的包pip安装不起,需要自己下载whl文件进行安装.二、基本的爬虫流程 通用爬虫有如下几步: 构造url -->> 请求,获取页面内容 -->> 分析页面内容(解析) -->> 保存结果 三、scrapy...
rsa字符串格式公钥转换python rsa库可识别的公钥形式 在爬虫分析的时候,经常在网页上看到如下格式的rsa公钥:MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDC7kw8r6tq43pwApYvkJ5laljaN9BZb21TAIfT/vexbobzH7Q8SUdP5uDPXEBKzOjx2L28y7Xs1d9v3tdPfKI2LR7PAzWBmDMn8riHrDDNpUpJnlAGUqJG9ooPn...
Python爬虫常用之登录(二) 浏览器模拟登录 浏览器模拟登录的主要技术点在于:1.如何使用python的浏览器操作工具selenium2.简单看一下网页,找到帐号密码对应的框框,要知道python开启的浏览器如何定位到这些一、使用selenium打开网页from selenium import webdriverurl = 'https://passport.cnblogs.com/user/signin...
mongoengine在python中的使用 # /usr/bin/python# encoding: utf-8# Author: masakofrom mongoengine import *host ='127.0.0.1'port = 27017user = 'test'password = 'test123'db_name = 'test'collection = 'my...
Python爬虫常用之登录(三) 使用http请求登录 前面说了使用浏览器登录较为简单,不需要过多分析,而使用请求登录恰恰就是以分析为主.开发一个请求登录程序的流程: 分析请求->模拟请求->测试登录->调整参数->测试登录->登录成功一、分析网页从网页着手,打开博客园的登录页面,F12调出网页调试,选择network的tab,然后登录,登录成功后大致有如下请求可以看到:可以看到圈...
python发送邮件 首先是使用ubuntu作为服务器发送 这个操作可能失败,收邮件也需要到垃圾箱查看。 第一步,安装发送邮件需要的服务 使用命令:sudo apt-get install postfixsudo service postfix start 第一句是安装,第二句是开启 第二步,写一个发邮件的python文件 随便上网找一段就可...
Python爬虫常用之登录(一) 思想 爬虫主要目的是获取数据,常见的数据可以直接访问网页或者抓包获取,然后再解析即可.一些较为隐私的数据则不会让游客身份的访问者随便看到,这个时候便需要登录获取.一般获取数据需要的是登录后的cookie作为身份验证,如果一个可用cookie就能满足你的爬虫需要,可以不用模拟登录,直接在网页上登录,拷贝cookie下来,写死在代码中.其他的情况可能需要代码帮你登录,然后获取登录的...
supervisor使用小记 最近使用supervisor部署爬虫,百度了很多,磕磕绊绊自己也算是用起来了,以下是整理的使用情况.第一步:下载安装supervisor使用的ubuntu16.04,直接sudo apt-get installsupervisor由于权限老是不够,习惯加sudo~也可以 pip install supervisor第二步:生成初始配置文件,文件名为sup...
amqp模块在python2.7.6版本上报错的问题 机器的环境是python2.7.6;使用pip install安装了amqp.正常安装,未报错.amqp安装的版本是2.1.4.在python中,使用import amqp,报错如下:Traceback (most recent call last): File "<stdin>", line 1, in <module> File...
mongodb与python随手记 在python中使用pymongo连接mongodb数据库.基本代码如下:from pymongo import MongoClientclient = MongoClient('127.0.0.1', 27017) # mongodb的地址db_name = 'myfirstmongo' # 数据库的名字db = client...
json操作相关记录 json是javascript衍生的数据表示法,现在许多数据的处理都使用json.平时用到的与json结构相似的有很多,如mongodb数据库,python的字典等.核心思想就是键值对.json的基本数据结构包括对象和数组,对象用{},里面是键值对,数组用[],可包含多个对象;json在python中解析后,对象出来是字典,数组是列表.json简单操作:---------...
python函数超时情况应对总结 最近处理一个线程中的函数超时问题.函数里面有一个地方可能会卡死,我们需要去判断这个是不是卡死了,并做出相应的应对方案.最开始想的是在函数上增加一个装饰器,使其在超时时抛出异常,然后在其他地方捕获这个异常,并处理.查询了一些前人的方案,写出的结果有两种.方案一:使用threading的timer定时器,代码如下:from threading import timer...
base64的python实现 写了一个函数,自己按照base64的规则转换一个字符串. 1 # /usr/bin/python 2 # encoding: utf-8 3 base64_table = ['A', 'B', 'C', 'D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','...
Scrapy安装指南(windows) windows开发,难免遇到很多坑,比一般开发是艰苦得多。先不吐槽windows,我们直接看这个scrapy怎么安装。首先,要有一份文档,比如我用这个: http://scrapy-chs.readthedocs.io/zh_CN/0.24/index.html。最好是根据自己的scrapy版本去找文档,百度一下google一下都行。找到文档之后,文档中有安装指南,这个...