Python应用现在如火如荼,应用范围很广。因其效率高开发迅速的优势,快速进入编程语言排行榜前几名。本系列文章致力于可以全面系统的介绍Python语言开发知识和相关知识总结。希望大家能够快速入门并学习Python这门语言。

本文是在前一部分Python基础之上程序员带你十天快速入门Python,玩转电脑软件开发(四),再次进行的Python爬虫实战课程。

正则表达式实例简单详解

正则表达式干什么用? 就是在字符串中提取我们需要的内容的。

记得哦,要先引用正则表达式模块的哦。

re就是正则表达式相关的模块

实例一、

运行结果:

为了更加区分并铭记正则表达式。我们看一下其他元字符的效果:

元字符"+"的使用

元字符"?的使用"

?表示前面的字符必须出现一次或者多次。

其他的一些元字符建议大家根据课程程序员带你十天快速入门Python,玩转电脑软件开发(四)进行测试,查看效果。

findall和search的区别

findall:

根据运行结果可以发现:fingall可以匹配出所有的结果并返回集合。而search只能够匹配一个结果,当search时从左往右发现有一个结果时就直接返回了。

如果你仔细查看的话发现,search还有一个重载。例如我们可以这样写

但此时结果却没有任何变化。

so 这个参数是什么呢? 其实这是个设置是否匹配换行的标志。如果加上re.S就表示可以匹配换行。不写参数默认不匹配换行的。比如:

很明显,如果匹配中间有换行的话,不加re.S就没法匹配了。

sub的使用

根据运行结果可以得出:sub函数是替换函数。他可以把匹配的内容进行替换掉并返回新替换完毕的字符串。

爬虫程序

众所周知,所有的网页都是通过html代码编写而成的,可以说是一个文本文件,根据渲染模型从而产生了多姿多彩的网页。

我们将要做的项目就是捕捉百度风云榜实施热搜榜单的全部电影。得到火热的电影。也就是下面的部分

这个网页也是由html编写而成的。打开微博热搜。在网页空白处点击右键就可以看到网页源代码。

你会发现整个html代码非常复杂。所以我们这边就使用一个神器:开发人员工具。

网页空白处点击右键审查元素

然后选择实时热搜里面的内容。下方就会自动定位到你所选择的代码了。

我们查看一下实时热搜这几个标签有什么规律:

我们可以看到我们想要的热搜的内容都是如下结构:

<a target="_blank" title="标题" data="26|26" class="list-title" href="链接" href_top="说明">电影名称</a>

所以我们就可以按照如上内容写正则表达式,然后在html源代码中匹配出来电影名称就可以了

我们正则表达式可以这样写

<a target="_blank" title=".+?" data="26|26" class="list-title" href=".+?" href_top=".*?">.*?</a>

其中我们用到了一个python网络请求的框架。这个框架默认是没有的。我们需要进行安装的。

  1. 下载requests模块,(大家可以加入QQ群:538742639获取)

  2. 安装requests模块

    1. 解压模块文件并打开kennethreitz-requests-3314259文件夹

    2. 按住键盘shift键,在空白区域右键点击-在此处打开命令窗口

    3. 输入以下指令:python setup.py install

    4. 点击回车即可安装。此时就可以导入requests模块了

至此一个简单的获取热门电影的爬虫小程序开发完成。

下节课我们学习更高效率更快速度的多线程爬虫。

请关注下节教程。

关注-做全栈攻城狮获取最新资讯。写代码也要读书,爱全栈,更爱生活。程序员不止会写代码,好智商,高情商,我们的选择。

这是python开发学习的系列课程,除今日头条之外。我们在 一点资讯、搜狐媒体平台,QQ公众平台、微信公众平台。企鹅媒体平台、UC订阅平台、百度发布平台也有文章教程发布。大家也可以关注。账号名称都是做全栈攻城狮

感谢点击关注:今日头条。 大家也可以加QQ群:538742639,一起努力,互相激励。500多个技术大牛等着你。

下篇文章:Python实战:美女图片下载器,海量图片任你下载

 

Python实战:Python爬虫学习教程,获取电影排行榜的更多相关文章

  1. Python爬虫学习教程:天猫商品数据爬虫

    天猫商品数据爬虫使用教程 下载chrome浏览器 查看chrome浏览器的版本号,下载对应版本号的chromedriver驱动 pip安装下列包 pip install selenium pip in ...

  2. Python爬虫学习之获取网页源码

    偶然的机会,在知乎上看到一个有关爬虫的话题<利用爬虫技术能做到哪些很酷很有趣很有用的事情?>,因为强烈的好奇心和觉得会写爬虫是一件高大上的事情,所以就对爬虫产生了兴趣. 关于网络爬虫的定义 ...

  3. Python实战:爬虫的基础

    网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟程序或者蠕 ...

  4. Python 简单网页爬虫学习

    #coding=utf-8 # 参考文章: # 1. python实现简单爬虫功能 # http://www.cnblogs.com/fnng/p/3576154.html # 2. Python 2 ...

  5. Pyhton网络爬虫实例_豆瓣电影排行榜_Xpath方法爬取

    -----------------------------------------------------------学无止境------------------------------------- ...

  6. Python爬虫入门教程 33-100 电影评论数据抓取 scrapy

    1. 海王评论数据爬取前分析 海王上映了,然后口碑炸了,对咱来说,多了一个可爬可分析的电影,美哉~ 摘录一个评论 零点场刚看完,温导的电影一直很不错,无论是速7,电锯惊魂还是招魂都很棒.打斗和音效方面 ...

  7. python实战——网络爬虫之request

    Urllib库是python中的一个功能强大的,用于操做URL,并在做爬虫的时候经常要用到的库,在python2中,分为Urllib和Urllib2两个库,在python3之后就将两个库合并到Urll ...

  8. Python第一个爬虫学习

    在网上查看大神的关于Python爬虫的文章,代码如下: #coding=utf-8 import urllib import re def getHtml(url): page = urllib.ur ...

  9. Python实战练习——打印日历教程

    很长一段时间没有接触过C语言了,想来做这一行当已经有三两年了. 今天突然想起来以前用C语言在VC6上写代码的日子,想了想以前的一些实战练习. 所以今天打算用Python来写一个C语言以前练习的题目-日 ...

随机推荐

  1. windows下安装php真正的多线程扩展pthreads教程

    扩展地址:http://docs.php.net/manual/zh/book.pthreads.php 注意事项php5.3或以上,且为线程安全版本.apache和php使用的编译器必须一致.通过p ...

  2. android使用tabhost实现导航

    参考 http://blog.csdn.net/xixinyan/article/details/6771341 http://blog.sina.com.cn/s/blog_6b04c8eb0101 ...

  3. 在linux系统下怎么安装两个nginx

    在linux下安装nginx的时候,一般在./configure的阶段会要求通过prefix设置安装路径.因此,在./configure的时候指定不同的prefix就可以安装多个nginx啦. 值得注 ...

  4. bzoj1487

    还是仙人掌,和1023一样的考虑方法比1023简单但比1040难环形dp的处理方法和1040一样 type node=record po,next:longint; end; ..,..] of lo ...

  5. bzoj1202

    很久以前写的,忘补解题报告了首先似乎dfs就可以了吧?但还有更高大上的做法其实这东西就是告诉sum[y]-sum[x-1]=z然后给出一堆看成不成立可以用并查集,维护每个点到father点的差即可 . ...

  6. Android Loader详解三:重启与回调

    重启装载器 当你使用initLoader()时,如果指定ID的装载器已经存在,则它使用这个装载器.如果不存在呢,它将创建一个新的.但是有时你却是想丢弃旧的然后开始新的数据. 要想丢弃旧数据,你应使用r ...

  7. js中的时间转换—毫秒转换成日期时间

    转自:http://www.javascript100.com/?p=181 前几天,在项目中遇到js时间增加问题,要将js毫秒时间转换成日期时间 var oldTime = (new Date(&q ...

  8. 虚拟机之仅主机模式(HostOnly)链接外网设置

    我的环境: 虚拟机-VMware 虚拟系统-CentOS 现实主机-win7 具体设置步骤: 一.设置现实主机 (地址等不用额外设置,下面是我电脑正常上网的配置) 将本地链接设置共享(这步很重要) 二 ...

  9. ASP.NET MVC- VIEW Creating Custom HTML Helpers Part 2

    The goal of this tutorial is to demonstrate how you can create custom HTML Helpers     that you can ...

  10. Linux中的文件压缩,打包和备份命令

    压缩解压命令 gzip  文件   -c : 将压缩数据输出到屏幕,可用来重定向 -v   显示压缩比等信息 -d   解压参数 -t    用来检验一个压缩文件的一致性看看档案有没错 -数字 : 压 ...