如何用Python在豆瓣中获取自己喜欢的TOP N电影信息
一、什么是 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
多抄、多写、多想、多问、多看、多听、多说
学习编程是为了解决实际的问题,把自己在工作或学习中的重复工作程序化
谷歌和度娘
加入开源社区(多看、多分享、多交流)
交流QQ群:238757010
如何用Python在豆瓣中获取自己喜欢的TOP N电影信息的更多相关文章
- Python爬虫入门 之 如何在豆瓣中获取自己喜欢的TOP N电影信息
什么是爬虫 按照一定规则自动的获取互联网上的信息(如何快速有效的利用互联网上的大量信息) 爬虫的应用 搜索引擎(Google.百度.Bing等搜索引擎,辅助人们检索信息) 股票软件(爬取股票数据,帮助 ...
- 如何用Python输出PPT中的文字信息
在这里,会用到win32com模块 模块下载地址:http://sourceforge.net/projects/pywin32/files/pywin32/ 代码如下: import win32co ...
- 如何用python最快的获取大文件的最后几行
工作中经常会遇到处理日志文件的问题:为了得到日志的最新状态,我们需要获取日志文件的最后部分行来做判断.那么,这种情况下我们应该怎么做呢? 1)常规方法:从前往后依次读取 步骤:open打开日志文件. ...
- Python http.server中获取Post的请求报文
今天在自学http.server请求命令, 各个字段都很好理解, 但唯独想打印获取Post请求报文时, 被难住了, 网上找了很多帖子, 官方的文档也刷了几遍, 但没有一个明确的答复. 后来不经意间看到 ...
- 如何用python无账号无限制获取企查查信息
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http ...
- 简析Geoserver中获取图层列表以及各图层描述信息的三种方法
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 实际项目中需要获取到Geoserver中的图层组织以及各图层 ...
- python(17) 获取acfun弹幕,评论和视频信息
每天一点linux命令:新建文件夹
- 日志管理中获取浏览器、操作系统、IP等信息。。。
今天在书写日志管理的模块的时候,遇到了一些问题,首先是日志的添加,就是在登录的时候记下他登录的名字以及登录的时间和登录的一些信息给存入到日志表中,这一下给蒙了,于是就查找资源,在这里我就简单地总结一下 ...
- 在苹果iOS平台中获取当前程序进程的进程名等信息
本文由EasyDarwin开源团队成员Penggy供稿: Objective-C 提供 NSProcessInfo 这个类来获取当前 APP 进程信息, 然而我们的静态库是 pure C++ 工程. ...
随机推荐
- javascript设计模式——发布订阅模式
前面的话 发布—订阅模式又叫观察者模式,它定义对象间的一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知.在javascript开发中,一般用事件模型来替代传统的发布—订阅模 ...
- PDFBox 打印带背景的文件速度慢
打印慢的原因 java的RasterPrinterJob会执行很多次printPage方法 他应该是按块填充的, 如果页面元素非常复杂, 那么printPage方法可能会执行十几次. 而如果你用了如下 ...
- 【NOIP2013提高组】火柴排队
https://www.luogu.org/problem/show?pid=1966 Σ(ai-bi)2=Σai2+Σbi2-2Σai*bi,要使Σ(ai-bi)2最小,则需2Σai*bi最大. 由 ...
- jquery on的常用 用法
定义和用法 on()方法在被选元素及子元素上添加一个或多个方法. 提示:使用on方法添加的事件处理程序适用于当前及未来的元素(javascript创建的) 提示:移除事件处理程序使用off()方法,如 ...
- Linux高性能server编程——信号及应用
信号 信号是由用户.系统或者进程发送给目标进程的信息.以通知目标进程某个状态的改变或系统异常. Linux信号可由例如以下条件产生: 对于前台进程.用户能够通过输入特殊的终端字符来给它发送信号. ...
- C#线程等待句柄
相互排斥对象 Mutex private Mutex m = new Mutex(); public void Method(){ m.WaitOne(); //运行操作 m.ReleaseMutex ...
- Linux转发性能评估与优化(转发瓶颈分析与解决方式)
线速问题 非常多人对这个线速概念存在误解. 觉得所谓线速能力就是路由器/交换机就像一根网线一样. 而这,是不可能的.应该考虑到的一个概念就是延迟. 数据包进入路由器或者交换机,存在一个核心延迟操作,这 ...
- XML解析之SAX
今天在敲代码的时候,想要实现地址选择功能,就是那个能够选择省.市.县的一个,用到的一个开源框架Android-PickerView,当然他这个里面尽管实现了能够选择的城市列表.可是他这是自己创建的,可 ...
- Memcached的安装与简单使用
Memcached下载 如果是Win10系统,还需要单独安装telnet服务,因为Win10把它给阉掉了.(默认下一步下一步安装) 一.安装Memcached 将Memcached解压到目录,以管理员 ...
- HTTP响应状态码含义参考
1xx:信息 100 Continue服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求.101 Switching Protocols服务器转换协议:服务器将遵从客 ...