如何用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++ 工程. ...
随机推荐
- (四):C++分布式实时应用框架——状态中心模块
C++分布式实时应用框架--状态中心模块 上篇:(三):C++分布式实时应用框架--系统管理模块 技术交流合作QQ群:436466587 欢迎讨论交流 版权声明:本文版权及所用技术归属smartguy ...
- 大数据学习(1)Hadoop安装
集群架构 Hadoop的安装其实就是HDFS和YARN集群的配置,从下面的架构图可以看出,HDFS的每一个DataNode都需要配置NameNode的位置.同理YARN中的每一个NodeManager ...
- 通过Javascript调用微软认知服务情感检测接口的两种实现方式
这是今天在黑客松现场写的代码.我们的项目需要调用认知服务的情感识别接口.官方提供了一种方式,就是从一个远程图片进行识别.我另外写了一个从本地文件读取并上传进行识别的例子. 官方文档,请参考 https ...
- 浅copy 与 深copy
import copy names = ["zhangyang", 'guyun', 'xiangpeng', ['jack','tom'], 'xuliangchen'] nam ...
- poj 1035KINA Is Not Abbreviation
题目链接:http://poj.org/problem?id=4054 本题的题意是在下面那部分待检验的单词中找到与之相对应的正确的代词,包含几种情况,一是全部字母相同,二是有一个字母不相同,三是多一 ...
- Django模型中value函数运用
values(*fields) 这个方法返回的是ValuesQuerySet,是QuerySet 的子类,也就是说,你可以用QuerySet里的方法. 需要注意的是,返回的不是list,不要直接当li ...
- Java开发小技巧(三):Maven多工程依赖项目
前言 本篇文章基于Java开发小技巧(二):自定义Maven依赖中创建的父工程project-monitor实现,运用我们自定义的依赖包进行多工程依赖项目的开发. 下面以多可执行Jar包项目的开发为例 ...
- overridePendingTransition介绍
Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画 它包含两个部分: 一部分是第一个activity退出时的动画: 另外一部分时第二个activity进入时的 ...
- EularProject 43: 带条件约束的排列组合挑选问题
Sub-string divisibility Problem 43 The number, 1406357289, is a 0 to 9 pandigital number because it ...
- Maste Note for OCR / Vote disk Maintenance Operations (ADD/REMOVE/REPLACE/MOVE)
Doc ID 428681.1 Applies to: Oracle Database - Enterprise Edition - Version 10.2.0.1 to 11.2.0.1.0 [R ...