佛山达内IT培训学校

试听课 + 活动课
填写信息优先获取试听课

位置:学校首页 > 学校动态>佛山python培训机构哪家好在哪里

佛山python培训机构哪家好在哪里

python怎么学好

在使用python的时候,经常会需要进行数据分析。而这个时候Quandl是比较常用的数据分析源,下面小编就给大家分享一下如何用Python搭配Quandl进行数据分析。以下是小编为你整理的python怎么学好

首先打开CMD命令行,执行pip install sklearn命令安装sklearn包

然后通过pip install quandl命令安装quandl包

接下来我们通过pip install pandas安装pandas包

接下来我们在CMD命令行中通过import语句导入pandas和Quandl两个库

然后我们可以登录Quandl的平台寻找要进行数据分析的Quandl Code

接下来我们通过Quandl的get方法获取数据分析的数据源

较后我们执行以后就会在CMD窗口看到如下图所示的数据源,我们只需要通过命令对数据源进行计算就可以达到分析的目的了

2编写内容爬虫

首先,给爬虫建立个目录,在项目里面和app同级,然后把这个目录变成一个python的package

mkdir ~/python_spider/sfspider touch

~/python_spider/sfspider/__init__.py

以后,这个目录就叫爬虫包了

在爬虫包里面建立一个spider.py用来装我的爬虫们

vim ~/python_spider/sfspider/spider.py

一个基本的爬虫,只需要下面几行代码:

(代码下面会提供)然后呢,就可以玩玩我们的“爬虫”了。

进入python shell

>>> from sfspider import spider

>>> s = spider.SegmentfaultQuestionSpider('1010000002542775')

>>> s.url

>>> 'http://segmentfault.com/q/1010000002542775'

>>> print s.dom('h1#questionTitle').text()

>>> 微信JS—SDK嵌套选择图片和上传图片接口,实现一键上传图片,遇到问题

看吧,我现在已经可以通过爬虫获取segmentfault的提问标题了。下一步,为了简化代码,我把标题,回答等等的属性都写为这个蜘蛛的属性。代码如下

# -*- coding: utf-8 -*-

import requests # requests作为我们的html客户端

from pyquery import PyQuery as Pq # pyquery来操作dom

class SegmentfaultQuestionSpider(object):

def __init__(self, segmentfault_id): # 参数为在segmentfault上的id

self.url = 'http://segmentfault.com/q/{0}'.format(segmentfault_id)

self._dom = None # 弄个这个来缓存获取到的html内容,一个蜘蛛应该之访问一次

@property

def dom(self): # 获取html内容

if not self._dom:

document = requests.get(self.url)

document.encoding = 'utf-8'

self._dom = Pq(document.text)

return self._dom

@property

def title(self): # 让方法可以通过s.title的方式访问 可以少打对括号

return self.dom('h1#questionTitle').text() # 关于选择器可以参考css selector或者jquery

selector, 它们在pyquery下几乎都可以使用

@property

def content(self):

return self.dom('.question.fmt').html() # 直接获取html 胆子就是大 以后再来过滤

@property

def answers(self):

return list(answer.html() for answer in self.dom('.answer.fmt').items()) #

记住,Pq实例的items方法是很有用的

@property

def tags(self):

return self.dom('ul.taglist--inline > li').text().split() #

获取tags,这里直接用text方法,再切分就行了。一般只要是文字内容,而且文字内容自己没有空格,逗号等,都可以这样弄,省事。

然后,再把玩一下升级后的蜘蛛。

>>> from sfspider import spider

>>> s = spider.SegmentfaultQuestionSpider('1010000002542775')

>>> print s.title

>>> 微信JS—SDK嵌套选择图片和上传图片接口,实现一键上传图片,遇到问题

>>> print s.content

>>> # [故意省略] #

>>> for answer in s.answers print answer

>>> # [故意省略] #

>>> print '/'.join(s.tags)

>>> 微信js-sdk/python/微信开发/javascript

领取试听课
温馨提示:为不影响您的学业,来校区前请先电话或QQ咨询,方便我校安排相关的专业老师为您解答
版权所有:搜学搜课(www.soxsok.com) 技术支持:搜学搜课网