• Python实战:Python爬虫学习教程,获取电影排行榜


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

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

    正则表达式实例简单详解

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

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

    Python实战:Python爬虫学习教程,获取电影排行榜re就是正则表达式相关的模块

    实例一、

    Python实战:Python爬虫学习教程,获取电影排行榜

    运行结果:

    Python实战:Python爬虫学习教程,获取电影排行榜

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

    元字符"+"的使用

    Python实战:Python爬虫学习教程,获取电影排行榜

    Python实战:Python爬虫学习教程,获取电影排行榜

    元字符"?的使用"

    Python实战:Python爬虫学习教程,获取电影排行榜

    Python实战:Python爬虫学习教程,获取电影排行榜

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

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

    findall和search的区别

    findall:

    Python实战:Python爬虫学习教程,获取电影排行榜

    Python实战:Python爬虫学习教程,获取电影排行榜

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

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

    Python实战:Python爬虫学习教程,获取电影排行榜但此时结果却没有任何变化。

    Python实战:Python爬虫学习教程,获取电影排行榜so 这个参数是什么呢? 其实这是个设置是否匹配换行的标志。如果加上re.S就表示可以匹配换行。不写参数默认不匹配换行的。比如:

    Python实战:Python爬虫学习教程,获取电影排行榜很明显,如果匹配中间有换行的话,不加re.S就没法匹配了。

    sub的使用

    Python实战:Python爬虫学习教程,获取电影排行榜

    Python实战:Python爬虫学习教程,获取电影排行榜

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

    爬虫程序

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

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

    Python实战:Python爬虫学习教程,获取电影排行榜

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

    Python实战:Python爬虫学习教程,获取电影排行榜

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

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

    Python实战:Python爬虫学习教程,获取电影排行榜

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

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

    Python实战:Python爬虫学习教程,获取电影排行榜

    Python实战:Python爬虫学习教程,获取电影排行榜

    Python实战:Python爬虫学习教程,获取电影排行榜我们可以看到我们想要的热搜的内容都是如下结构:

    <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实战:Python爬虫学习教程,获取电影排行榜其中我们用到了一个python网络请求的框架。这个框架默认是没有的。我们需要进行安装的。

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

    2. 安装requests模块

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

      2. Python实战:Python爬虫学习教程,获取电影排行榜

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

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

      5. Python实战:Python爬虫学习教程,获取电影排行榜点击回车即可安装。此时就可以导入requests模块了

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

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

    请关注下节教程。

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

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

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

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

     
  • 相关阅读:
    js向input的value赋值
    报错:SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'admin' for key 'username'
    php下intval()和(int)转换使用与区别
    laravel 文件上传总结
    js实现图片上传到服务器和回显
    PHP feof() 函数
    laravel insert 、save、update、create区别(总结二)
    【MySQL经典案例分析】 Waiting for table metadata lock
    使用Laya引擎开发微信小游戏(下)
    一文带你看懂cookie,面试前端不用愁
  • 原文地址:https://www.cnblogs.com/happpytoo/p/5936754.html
Copyright © 2020-2023  润新知