Python

python爬虫之爬取百度音乐的实现方法

在上次的爬虫中,抓取的数据主要用到的是第三方的Beautifulsoup库,然后对每一个具体的数据在网页中的selecter来找到它,每一个类别便有一个select方法。对网页有过接触的都知道很多有用的数据都放在一个共同的父节点上,只是其子节点不同。在上次爬虫中,每一类数据都要从其父类(包括其父节点的父节点)上往下寻找ROI数据所在的子节点,这样就会使爬虫很臃肿,因为很多数据有相同的父节点,每次都要重复的找到这个父节点。这样的爬虫效率很低。因此,笔者在上次

系统 2019-09-27 17:49:04 2581

Python

python协程爬取斗鱼美女图片

分析网站寻找需要的网址用谷歌浏览器摁F12打开开发者工具,然后打开斗鱼颜值分类的页面,如图:在这里插入图片描述在里面的请求中,最后发现它是以ajax加载的数据,数据格式为json,如图:在这里插入图片描述圈住的部分是我们需要的数据,然后复制它的网址为https://www.douyu.com/gapi/rknc/directory/yzRec/1,出于学习目的只爬取第一页(减少服务器压力)。然后把网址放到浏览器中测试是否可以访问。如图:在这里插入图片描述结

系统 2019-09-27 17:56:55 2580

Python

python中metaclass原理与用法详解

本文实例讲述了python中metaclass原理与用法。分享给大家供大家参考,具体如下:什么是metaclass.metaclass(元类)就是用来创建类的类。在前面一篇文章《python动态创建类》里我们提到过,可以用如下的一个观点来理解什么是metaclass:MyClass=MetaClass()MyObject=MyClass()metaclass是python里面的编程魔法同时在前面一篇《python动态创建类》文章里描述动态创建class的时

系统 2019-09-27 17:56:42 2580

Python

降维方法总结及python实现

为什么要降维?高维情形下,样本数据稀疏,距离计算困难。为什么能进行降维?收集的数据虽是高维但与学习任务密切相关的也许仅仅是某个低维分布无监督降维:PCA最大重构性:找到一个超平面使得样本点在这个超平面的投影尽量分开。PCA也可以看作是逐一筛选方差最大方向;对协方差矩阵XX^T特征分解,取最大特征值及其特征向量;在去掉该特征值以及特征向量后,继续取最大特征值;关于PCA的几个问题:投影方向应该取多少才好?根据博客https://blog.csdn.net/m

系统 2019-09-27 17:56:39 2580

Python

对接qq邮箱的smtp协议,python发送邮件的例子

#visendmail.py#pythonsendmail.py运行即可importsmtplib#smtp服务器用的包fromemail.mime.textimportMIMEText#邮件用得包authEmail="xxx@qq.com"#开启smtp服务的邮箱authCode="xxx"#获取到的授权码http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256toEmail

系统 2019-09-27 17:54:38 2580

Python

python脚本当作Linux中的服务启动实现方法

脚本服务化目的:python在文本处理中有着广泛的应用,为了满足文本数据的获取,会每天运行一些爬虫抓取数据。但是网上买的服务器会不定时进行维护,服务器会被重启。这样我们的爬虫服务就无法运行。这个时候我们可以把python脚本服务化,服务器重启后,脚本就会自动运行。解决服务器维护后需要手动运行python脚本。实现方法:1,给编写好的python脚本开头加上#!/usr/bin/python2,启动shell脚本编写vipystock.sh#vim/etc/

系统 2019-09-27 17:53:39 2580

Python

Qt使用C/C++扩展Python内置模块

之前和大家介绍过在C/C++中嵌入Python,本次和大家分享下使用C/C++扩展Python内置模块的方法。被扩展出来的新模块可以做两件无法直接在Python中完成的事情:一可以实现新的内置对象类型,二则可以调用C库函数和一些其他的系统调用。使用平台:ubuntu14.04、python3.5、Qt5.5.1下面借助Qt创建一个叫libpy3extend的Python内置模块,它可以做一个简单的加法操作,还可以返回一个自定义的数据类型。调用形式如下:im

系统 2019-09-27 17:50:55 2580

Python

python日期转化利器arrow实践

之前有关于时间数据处理相关的工作我大都是使用time或者是datetime模块来进行的,今天发现了一个非常好用的时间数据处理分析的模块arrow,能够很方便地完成一些时间计算等等,详细的内容就不多说了,我使用了一些arrow提供的功能,都满足了我工作中的需求,下面简单给出来一些实践例子,以及官方文档地址在这里。下面是具体的实践内容:#!usr/bin/envpython#encoding:utf-8from__future__importdivision'

系统 2019-09-27 17:48:16 2580

Python

Python PyCharm如何进行断点调试

编辑器不等于IDE(集成开发环境),开发python程序,不是只有一种print()打印输出调试。术业有专攻,于人如此,于一个软件也是如此。让专业的软件做专业的事。以上两点得出的结论:PyCharm我们以如下的一种常见错误,来演示如何通过PyCharm断点追踪的方式发现程序中的错误:deffoo(bar=[]):bar.append('bar')returnbar>>>foo()['bar']>>>foo()['bar','bar']>>>foo()['b

系统 2019-09-27 17:48:11 2580

Python

Python的Flask框架中SQLAlchemy使用时的乱码问题解决

一、问题这两天在学习使用flask+SQLAlchemy定制一个web查询页面的demo,在测试时,发现查询到的结果显示乱码。这里将解决方法记录下。二、解决思路1、flask程序上定位flask的文档中提到可以通过设置SQLALCHEMY_NATIVE_UNICODE来禁止使用SQLAlchemy默认的Unicode编码。有可能是SQLAlchemy默认的Unicode编码不是UTF-8,抱着这样的想法,在程序中指定了“SQLALCHEMY_NATIVE_

系统 2019-09-27 17:37:58 2580

Python

Linux源码安装Python3.7出现的各种坑

前言自己在Linux安装过很多次Python,每次都会由于各种各样的原因出现很多问题,很无奈安装流程去这里先看看有哪些可用版本可用下载下载sudowgethttp://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz解压sudotar-xzvfPython-3.7.0.tgz自定义安装目录sudomkdir/usr/local/python3编译、安装cdPython-3.7.0sudo./configure

系统 2019-09-27 17:56:05 2579

Python

Python内存管理实例分析

本文实例讲述了Python内存管理。分享给大家供大家参考,具体如下:a=1a是引用,1是对象。Python缓存整数和短字符串,对象只有一份,但长字符串和其他对象(列表字典)则有很多对象(赋值语句创建新的对象)。fromsysimportgetrefcounta=[1,2,3]print(getfrecount(a))返回4,当使用某个引用作为参数传给getfrecount时,创建了临时引用,+1.对象引用对象classfrom_obj(object):de

系统 2019-09-27 17:55:49 2579

Python

python爬虫--爬取代码实例(xpath)

Python爬取拉勾网实例#-*-.coding:utf-8-*-#__author__='xiaobai'#Email:517840374@qq.comimporttimeimportrefromselenium.webdriverimportChrome#导入浏览器的包fromselenium.webdriver.common.keysimportKeysn=1#创建浏览器web=Chrome()#打开浏览器,请求到拉钩web.get("https:/

系统 2019-09-27 17:53:26 2579

Python

python web框架 django wsgi原理解析

前言djangowsgipython有个自带的wsgi模块可以写自定义web框架用wsgi在内部创建socket对象就可以了自己只写处理函数就可以了django只是web框架他也不负责写socketdjango依赖wsgi接口创建socketwsgi是一套规则是一套接口按照wsgi规则写以后想封装socket在内部封装socket就可以了我只要遵循规则把wsgi模块一导入我就可以使用wsgi写的socket了遵循wsgsocketi接口有哪些这些模块已经创

系统 2019-09-27 17:53:13 2579

Python

Python pickle模块--文件的序列化与反序列化

python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储。通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。importpickleList=[[5,1.1,'yes'],[0.9,15,'no']]Dic={0:[1,2,3,4],1:('a','b'),2:{'c':'yes','d':'no'}}fw=open('1.txt','w

系统 2019-09-27 17:49:24 2579