当前位置:威尼斯 > 服务器 >   语言是工具,本次公开课由我们的蜗牛老师为

  语言是工具,本次公开课由我们的蜗牛老师为

文章作者:服务器 上传时间:2019-09-24

如何用Python在豆瓣中获取自己喜欢的TOP N电影信息,pythontop

一、什么是 Python

  Python (蟒蛇)是一门简单易学、 优雅健壮、 功能强大、 面向对象的解释型脚本语言.具有 20+ 年发展历史, 成熟稳定. 具有丰富和强大的类库支持日常应用。

  1989 年, 罗萨姆想要开发出一套工具完成日常系统管理任务, 能够访问分布式操作系统 Amoeba 的系统调用. 于是从 1989 年底开始创作通用性开发语言Python.

二、为什么选择 Python

  语言都有使用场景,只有合适和不合适

  语言是工具,想法(思路&算法)是基础

三、Python 的优势

  简单易学

  简单、易学、免费、开源、可移植、可扩展、可嵌入、面向对象等优点

  功能健全,能满足我们工作中绝大多数需求的开发

  通用语言,几乎可以用在任何领域和场合,可以跨平台使用,目前各 Linux系统都默认安装 Python 运行环境

  社区,是否有一个完善的生态系统

  pypi, github, StackOverFlow , oschina

成功案例

  国内:豆瓣、知乎、盛大、BAT、 新浪、网易…

  国外:谷歌、YouTube、Facebook、红帽…

四、Python 有哪些使用场景

  系统管理任务

  Web 编程

  图形处理、多媒体应用

  文本处理(爬虫)

  数学处理(数据分析、机器学习)

  网络编程

  游戏开发

  黑客( POC 脚本、木马)

  自动化测试

  运维开发

  云计算

五、什么是爬虫 

  按照一定规则自动的获取互联网上的信息(随着网络的迅速发展,互联网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战)

应用

  搜索引擎(Google、百度、Bing等搜索引擎,辅助人们检索信息)

  股票软件(爬取股票数据,帮助人们分析决策,进行金融交易)

  Web扫描(需要对网站所有的网页进行漏洞扫描)

  获取某网站最新文章收藏

  爬取天气预报

  爬取漂亮mm照片

  给空间朋友点赞

......

六、实战项目

 1、项目目标

目标:在豆瓣中获取自己喜欢的TOP N电影信息

2、基础知识

HTTP 协议

客户端发起请求,服务器接收到请求后返回格式化的数据,客户端接收、解析并处理数据

HTML(超文本标记语言)

Python

  基础语法

  模块

>>>常用系统模块

>>>第三方模块安装&使用

>>>pip install requests

>>>pip install pyquery

3、手动搜索

4、程序启动

5、获取电影列表

6、获取电影详情

7、写入csv文件

如何学习 Python

  多抄、多写、多想、多问、多看、多听、多说

  学习编程是为了解决实际的问题,把自己在工作或学习中的重复工作程序化

  谷歌和度娘

  加入Python学习交流群(多看、多分享、多交流)

威尼斯 1

pip下载源的那些事

本次公开课由我们的蜗牛老师为我们带来爬虫入门知识,为大家展示和讲解如何在豆瓣中获取自己喜欢的TOP N电影信息。机会难得大家抓紧机会有任何关于 Python 的问题都可以问我们的蜗牛老师。

=======================

介绍

image.png

主题:

如何在豆瓣中获取自己喜欢的TOP N电影信息

1、引文

内容

编程入门

  • 什么是 Python?

  • 为什么选择 Python?

  • Python 有哪些使用场景?

  • Python 爬虫实战

项目演示

  • 什么是爬虫

  • 基础知识

  • 代码讲解

  • 问答环节


主讲师:蜗牛

非典型程序员,毕业之后接触了编程,从零基础成长至 BAT 高级工程师,为部门从零组建开发团队,带领完成多个大、中型项目,项目开发经验丰富并且深 悉初学者学编程的方法,为人热情,乐于分析。前百度高级工程师 Python 老司机,擅长可视化 ,追求简洁极致的代码。

经常在使用Python的时候需要安装各种模块,而pip是很强大的模块安装工具,但是由于国外官方pypi经常被墙,导致不可用,或者十分缓慢

什么是 Python

  • Python (蟒蛇)是一门简单易学、 优雅健壮、 功能强大、 面向对象的解释型脚本语言.具有 20+ 年发展历史, 成熟稳定. 具有丰富和强大的类库支持日常应用。

  • 89 年, 罗萨姆想要开发出一套工具完成日常系统管理任务, 能够访问分布式操作系统 Amoeba 的系统调用. 于是从 1989 年底开始创作通用性开发语言Python.

作者今天就碰到了类似的遭遇,电脑重装系统后,python以前经常使用的库要一个个重新下载,但国内使用pypi的下载速度奇慢,几十Kb的下载速度简直就是叔可忍,婶不可忍!气煞我也!!!

为什么选择 Python

  • 语言都有使用场景,只有合适和不合适

  • 语言是工具,想法(思路&算法)是基础

Python 的优势

  • 简单易学

  • 简单、易学、免费、开源、可移植、可扩展、可嵌入、面向对象等优点

  • 功能健全,能满足我们工作中绝大多数需求的开发

  • 通用语言,几乎可以用在任何领域和场合,可以跨平台使用,目前各 Linux系统都默认安装 Python 运行环境

  • 社区,是否有一个完善的生态系统

  • pypi, github, StackOverFlow , oschina

成功案例

  • 国内:豆瓣、知乎、盛大、BAT、 新浪、网易…

  • 国外:谷歌、YouTube、Facebook、红帽…

所以作者将自己使用的pip源更换一下,这样就能解决下载第三方库速度慢的烦恼。

Python 有哪些使用场景

  • 系统管理任务

  • Web 编程

  • 图形处理、多媒体应用

  • 文本处理(爬虫)

  • 数学处理(数据分析、机器学习)

  • 网络编程

  • 游戏开发

  • 黑客( POC 脚本、木马)

  • 自动化测试

  • 运维开发

  • 云计算

  • ……

临时使用:

什么是爬虫

按照一定规则自动的获取互联网上的信息(随着网络的迅速发展,互联网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战)

可以在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple

应用

搜索引擎(Google、百度、Bing等搜索引擎,辅助人们检索信息)

股票软件(爬取股票数据,帮助人们分析决策,进行金融交易)

Web扫描(需要对网站所有的网页进行漏洞扫描)

获取某网站最新文章收藏

爬取天气预报

爬取漂亮mm照片

给空间朋友点赞

......

威尼斯 2

例如:

实战项目

pip install gevent -i [Simple Index](http://link.zhihu.com/?target=https%3A//pypi.tuna.tsinghua.edu.cn/simple)

项目目标

目标:在豆瓣中获取自己喜欢的TOP N电影信息

威尼斯 3

这样就会从清华这边的镜像去安装gevent库。

基础知识

HTTP 协议

客户端发起请求,服务器接收到请求后返回格式化的数据,客户端接收、解析并处理数据

HTML(超文本标记语言)

Python

  • 基础语法

  • 模块

常用系统模块

第三方模块安装&使用

pip install requests

pip install pyquery

威尼斯 4

手动搜索

威尼斯 5

程序启动

威尼斯 6

图片4.png

获取电影列表

威尼斯 7

获取电影详情

威尼斯 8

写入csv文件

威尼斯 9

二、总结几个国内源的地址:

如何学习 Python

  • 多抄、多写、多想、多问、多看、多听、多说

  • 学习编程是为了解决实际的问题,把自己在工作或学习中的重复工作程序化

  • 谷歌和度娘

  • 加入开源社区(多看、多分享、多交流)


参加培训班

  • 仔细听课,跟上课堂学习, 有问题做记录,课后查阅资料或请教其他人

  • 记录笔记,认证完成课后练习

分享时间 17年11月24日晚上九点 (本周四)

分享方式 网络直播

参与方式

1、扫码添加小助手微信,备注"公开课",进入分享群,获取分享直播链接和相关资料:

长按.识别.加入

威尼斯 10

(51Reboot 公开课分享群人数超过100人,请加小助手微信:1251743084,备注“公开课”,会拉进群)

2、加入QQ群,获取分享直播链接和相关资料:

技术交流QQ群:368573673

咨询报名联系:

QQ(1):979950755 小月

QQ(2):279312229 ada

WeChat : 1902433859 小月

WeChat : 1251743084 小单

微信公众号Reboot51后台回复 python、即可获得相应课程的试听资料

Simple Index 豆瓣

Simple Index 阿里

http://pypi.hustunique.com/simple/ 华中理工大学

comprehensive 山东理工大学

Simple Index 中国科学技术大学

https://pypi.tuna.tsinghua.edu.cn/simple 清华

从 http://www.pypi-mirrors.org/ 可以看到的国内的PyPI镜像源主要有三个:

e.pypi.python.org

pypi.douban.com

pypi.hustunique.com

三、其他方案


Ⅰ 修改配置文件

linux

1)检查pip.conf文件是否存在

cd ~

mkdir .pip

ls ~/.pip

2)直接编辑pip.conf

sudo vi ~/.pip/pip.conf

windows

1)检查pip.ini文件是否存在

windows操作系统上配置文件的操作路径在 %APPDATA%pippip.ini

2)直接编辑pip.ini

macos

1)检查pip.conf文件是否存在

macOS操作系统上配置文件的操作路径在 $HOME/Library/Application Support/pip/pip.conf

Ⅱ 批处理

pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install pillow -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install ipython -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install Flask-i https://pypi.tuna.tsinghua.edu.cn/simple

四、其他


搜索的时候在网络上看到一篇比较高质量的介绍常用第三方库的博文,便转载过来:

一、Web框架

1.Django:

开源web开发框架,它鼓励快速开发,并遵循MVC设计,比较庞大,开发周期短。>Django的文档最完善、市场占有率最高、招聘职位最多。全套的解决方案,Django象>Rails一样,提供全套的解决方案(full-stack framework + batteries included),基本要什么有什么(比如:cache、session、feed、orm、geo、auth),而且全部Django自己造,开发网 站应手的工具Django基本都给你做好了,因此开发效率是不用说的,出了问题也算好找,不在你的代码里就在Django的源码里。

2.web.py: 轻量级Web框架,虽然简单但是功能强大。

3.Tornado:

Web服务器框架。Tornado即是一个Web server,同时又是一个类web.py的micro-framework,作为框架,Tornado的思想主要来源于Web.py,没有好的ORM,没有session支持(虽然官方做法是用cookie代替),WSGI支持不完整。但好处就是它用非阻塞的事件驱动开发,性能不错。并且自带WEB服务器,拿来学习一个非阻塞方式WEB服务器工作原理很适合。因为不用再去读nginx源码了。

4.Zope: 开源的Web应用服务器。

5.ActiveGrid: 企业级的Web2.0解决方案。

6.Karrigell: 简单的Web框架,自身包含了Web服务,py脚本引擎和纯python的数据库PyDBLite。

7.CherryPy: 基于Python的Web应用程序开发框架。

8.Pylons: 基于Python的一个极其高效和可靠的Web开发框架。

9.TurboGears: 基于Python的MVC风格的Web应用程序框架。

10.Twisted: 流行的网络编程库,大型Web框架。

11.Quixote:Web开发框架。

二、科学计算

1.Matplotlib: 用Python实现的类matlab的第三方库,用以绘制一些高质量的数学二维图形。

2.Scipy: 基于Python的matlab实现,旨在实现matlab的所有功能。

3.Numpy: 基于Python的科学计算第三方库,提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,线性代数,傅立叶变换,以及精密的运算库。专为进行严格的数字处理而产生。

三、网页爬虫框架

scrapy: Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。

是一个为遍历爬行网站、分解获取数据而设计的应用程序框架,它可以应用在广泛领域:数据挖掘、信息处理和或者历史片(历史记录)打包等等。

四、分布式网络框架

Twisted: 使用Python编写,强壮的、面向对象的解释性语言。Python使它的爱好者充满热情。使用Python编程是一种乐趣,易于编写、易于阅读、易于运行。因为Python是跨平台的,所以可以运行Twisted程序在Linux、Windows、Unix和MAC等等系统上。

Twisted包括大量的功能。Email、WEB、news、chat、DNS、SSH、Telnet、RPC、数据库存取或者更多。

五、游戏框架

Pygame: 基于Python的多媒体开发和游戏软件开发模块。跨平台 Python模块,专为电子游戏设计。包含图像、声音。建立在SDL基础上,允许实时电子游戏研发而无需被低级语言(如机器语言和汇编语言)束缚。基于这样一个设想,所有需要的游戏功能和理念都(主要是图像方面)都完全简化为游戏逻辑本身,所有的资源结构都可以由高级语言提供,如Python。

六、GUI

1.Tkinter: Python下标准的界面编程包,因此不算是第三方库了。

2.PyGtk: 基于Python的GUI程序开发GTK+库。

3.PyQt: 用于Python的QT开发库。

4.WxPython: Python下的GUI编程框架,与MFC的架构相似。

七、其他

1.BeautifulSoup: 基于Python的HTML/XML解析器,简单易用。

2.MySQLdb: 用于连接MySQL数据库。

3.Py2exe: 将python脚本转换为windows上可以独立运行的可执行程序。

4.pefile: Windows PE文件解析器。

5.PIL:基于Python的图像处理库,功能强大,对图形文件的格式支持广泛。

6.cElementTree: 高性能XML解析库,Py2.5应该已经包含了该模块,因此不算一个第三方库了。

本文由威尼斯发布于服务器,转载请注明出处:  语言是工具,本次公开课由我们的蜗牛老师为

关键词: