【Python】Python3网络爬虫实战-27、Requests与正则表达式抓取猫眼电影排行

python爬虫开发之使用Python爬虫requests多线程抓取猫眼电影TOP100实例 这篇文章主要介绍了python爬虫开发之使用Python爬虫requests多线程抓取猫眼电影TOP100实例,需要的朋友可以参考下 使用Python爬虫requests多线程抓取猫眼电影TOP100思路: 查看网页源代码 抓取单页内容 正则表达式提取信息 猫眼TOP100所有信息写入文件 多线程抓取 运行平台:windows Python版本:Python 3.7. IDE:Sublime ... 阅读详情

本节我们利用 Requests 和正则表达式来抓取猫眼电影 TOP100 的相关内容,Requests 相较于 Urllib 使用更加方便,而目前我们还没有系统学习 HTML 解析库,所以可能对 HTML 的解析库不是很了解,所以本节我们选用正则表达式来作为解析工具。

1. 本节目标

本节我们要提取出猫眼电影 TOP100 榜的电影名称、时间、评分、图片等信息,提取的站点 URL 为:http://maoyan.com/board/4,提取的结果我们以文件形式保存下来。

2. 准备工作

在本节开始之前请确保已经正确安装好了 Requests 库,如果没有安装可以参考第一章的安装说明。

3. 抓取分析

本节我们需要抓取的目标站点为:http://maoyan.com/board/4,打开之后便可以查看到榜单的信息,如图 3-11 所示:

图 3-11 榜单信息
排名第一的电影是霸王别姬,页面中显示的有效信息有影片名称、主演、上映时间、上映地区、评分、图片等信息。
网页下滑到最下方可以发现有分页的列表,我们点击一下第二页观察一下页面的URL和内容发生了怎样的变化,如图 3-12 所示:

图 3-12 页面 URL 变化
可以发现页面的 URL 变成了:http://maoyan.com/board/4?off…,相比之前的URL多了一个参数,那就是 offset=10,而目前显示的结果是排行 11-20 名的电影,初步推断这是一个偏移量的参数,我们再点击下一页,发现页面的 URL 变成了:http://maoyan.com/board/4?off…,参数 offset 变成了 20,而显示的结果是排行 21-30 的电影。
由此我们可以总结出规律,offset 代表了一个偏移量值,如果偏移量为 n,则显示的电影序号就是 n+1 到 n+10,每页显示 10 个。所以我们如果想获取 TOP100 电影,只需要分开请求 10 次,而 10 次的 offset 参数设置为 0,10,20,…,90 即可,这样我们获取不同的页面结果之后再用正则表达式提取出相关信息就可以得到 TOP100 的所有电影信息了。

4. 抓取首页

接下来我们用代码实现这个过程,首先抓取第一页的内容,我们实现一个 get_one_page() 方法,传入 url 参数,然后将抓取的页面结果返回,然后再实现一个 main() 方法调用一下,初步代码实现如下:

import requests

def get_one_page(url):
    response = requests.get(url)
    if response.status_code == 200:
        return response.text
    return None

def main():
    url = '[http://maoyan.com/board/4](http://maoyan.com/board/4)'
    html = get_one_page(url)
    print(html)

main()
Python资源分享qun 784758214 ,内有安装包,PDF,学习视频,这里是Python学习者的聚集地,零基础,进阶,都欢迎

这样运行之后我们就可以成功获取首页的源代码了,获取源代码之后我们就需要对页面进行解析,提取出我们想要的信息。

5. 正则提取

接下来我们回到网页看一下页面的真实源码,在开发者工具中 Network 监听,然后查看一下源代码,如图 3-13 所示:

图 3-13 源代码
注意这里不要在 Elements 选项卡直接查看源码,此处的源码可能经过 JavaScript 的操作而和原始请求的不同,我们需要从Network选项卡部分查看原始请求得到的源码。
查看其中的一个条目的源代码如图 3-14 所示:

图 3

Python爬虫(一)--猫眼Top100排行 1.概述 这是博主接触的第一个爬虫实例,利用python的request库和正则表达式猫眼网站的Top100电影进行取,将结果打印出来并保存成txt文件。关键的部分有以下三点: python中request库的简单使用。 利用re模块来解析request到的页面。 json格式文件存储和读取方法。 2.详细代码以及注释如下: # -*-coding:utf-8 -*- im... 阅读详情

相关推荐

python requests 正则re万能图片下载

python requests re 正则 爬虫 精简 万能,理论上可以下载任何网页的图片,可以试试看,简单易懂

Python爬虫实战01:Requests+正则表达式猫眼电影

1 目标站点的分析 2 流程框架 抓取单页内容 利用requests请求目标站点,得到单个网页HTML代码,返回结果。 正则表达式分析 根据HTML代码分析得到电影的名称、主演、上映、时间、评分、图片链接等信息。 保存至文件 通过文件的形式将结果保存,每一部电影一个结果一行Json字符串。 开启多循环及多线程 对多页内容遍历,开启多线程提高抓取速度。 3 爬虫实战 3.1...

Cowry 1542

Python-使用正则表达式requests抓取猫眼TOP100的电影信息

使用正则表达式requests抓取猫眼 TOP100 的电影信息

关于Python3爬虫抓取豆瓣电影的案例-利用正则表达式

最近在学习Python3爬虫,看了这本书《Python3网络爬虫开发实战》(并非打广告),看到了里面提到一个例子,取X眼电影的数据,今天试着自己实战一下。 主要是参考了以下资料: 1.书籍:《Python3网络爬虫开发实战》 2.博客:https://blog.csdn.net/skrskr66/article/details/85228193?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-3 如果侵权,请联系本人,谢谢 。 环

BrodyWu 1万+

python3 爬虫取豆瓣电影图片(一)

内容: 取豆瓣电影首页 https://movie.douban.com/  显示出来的图片,并将其保存于本地路径中。 网页部分截图: 原理: 1.使用内置库:urllib.request 获取请求得到网页数据 ; 2.利用header 进行伪装浏览器; 3.再使用正则表达式 r'(https:[^s]*?(jpg|png|gif))' 取出照片地址 4.创

heshushun的博客 4050

python爬虫猫眼电影1(正则表达式

本文用正则、xpath、beautifulsoup、css、pyquery几种不同的方式,猫眼电影。只是记录过程。比较乱。 猫眼电影现在也添加了一些反爬虫机制,如果直接用requests可能会403.所以最好添加header 和cookies。 添加的方法是使用网页的自动生成请求。 浏览器登陆,直接百度搜。 点击榜单 点击top100 出来页面之后,点击检查按钮,调出开发者工具。 选择network选项卡,然后在页面上,点击右键弹出“重新加载”,有的浏览器可能是“刷新”都...

weixin_40340586的博客 2021

python电影网站数据挖掘_python数据挖掘之网站用户访问推荐学习笔记

分为两部分第一部分为数据清洗,规约,第二部分为模型—协同过滤本章为第一部分先介绍原始数据,为一个500m的*.sql文件(数据库文件),因此我并没有照着原来教程的思路直接搞,决定先观察数据格式,于是准备将他导入到我电脑已经装有的mysql上。方式为,登入mysql,创建一个测试库(例如test或者我的7law),选择进库,source 路径,就能把文件导入到mysql中,500m也挺快的,不要1分...

weixin_39627361的博客 516

Python3网络爬虫实战-27Requests正则表达式抓取猫眼电影排行

本节我们利用 Requests正则表达式抓取猫眼电影 TOP100 的相关内容,Requests 相较于 Urllib 使用更加方便,而目前我们还没有系统学习 HTML 解析库,所以可能对 HTML 的解析库不是很了解,所以本节我们选用正则表达式来作为解析工具。 1. 本节目标 本节我们要提取出猫眼电影 TOP100 榜的电影名称、时间、评分、图片等信息,提取的站点 URL 为:http:/...

Python追梦 561

Python爬虫从入门到精通——爬虫实战猫眼电影排行Top100

本文为实战篇,需提前学习[《Python爬虫从入门到精通》基本库requests的使用和正则表达式的内容。我们需要抓取的目标为猫眼电影-榜单-TOP100榜,其地址为:[https://maoyan.com/board/4](https://maoyan.com/board/4)。我们希望取各个电影的排名、名称、主演、上映时间、上映地区等信息。最后保存为一张Excel表格。

冯·诺依曼 4万+

十分钟带你学会用python3网络爬虫抓取猫眼电影排行

90即可,这样获取不同的页面之后,再用正则表达式提取出相关信息,就可以得到TOP100的所有电影信息了。,比之前的URL多了一个参数,那就是 offset=10 ,而目前显示的结果是排行11~20名的电影,初步推断这是一个偏移量的参数。通过调用 write_to_json() 方法即可实现将字典写入到文本文件的过程,此处的 content 参数就是一部电影的提取结果,是一个字典。将网页滚动到最下方,可以发现有分页的列表,直接点击第2页,观察页面的URL和内容发生了怎样的变化,如图3-12所示。

爱编程的鱼的博客 1557

python 抓取猫眼电影排行

提取猫眼电影Top100电影名称、时间、评分、图片等信息,提取的结构会以文件形式保存下来 使用到 requests页面请求 pyquery源码解析 file文件读写 json数据格式化

Python3网络爬虫抓取猫眼电影排行

#抓取猫眼电影排行榜前100#目标: 提取出猫眼电影TOP100的电影名称、时间、评分、图片等信息#提取站点 :http://maoyan.com/board/4 提取的结果以文件形式保存#使用知识: 网页基础 、网络基础 、urllib、requests正则表达式1.抓取分析:1.网站页面 有效信息:影片名称 主演 上映时间 上映地区 评分 图片 一页10条2.点击 第二页 发现上方的URL ...

搬砖者也 5108

python爬虫入门(四)猫眼电影排行(使用requests库和正则表达式

本例中,利用 requests 库和正则表达式抓取猫眼电影 TOP100 的相关内容。

qq_40369277的博客 4724

Python3网络爬虫开发实战3.4-抓取猫眼电影排行

【摘要】本节中,我们利用requests库和正则表达式抓取猫眼电影TOP100的相关内容。requests比urllib使用更加方便,而且目前我们还没有系统学习HTML解析库,所以这里就选用正则表达式来作为解析工具。 1. 本节目标 本节中,我们要提取出猫眼电影TOP100的电影名称、时间、评分、图片等信息,提取的站点URL为http://maoyan.com/board/4,提取的结果会以...

华为云官方博客 3738

Python爬虫第9节-猫眼电影排行数据的简单实战

这一节,咱们要抓取猫眼电影TOP100的相关信息,会用到requests库和正则表达式requests库用起来比urllib更方便,而且到现在我们还没系统学习过HTML解析库,所以就决定用正则表达式来做解析工具。这一节,我们通过抓取猫眼TOP100电影的信息,实际操作练习了requests库和正则表达式的使用方法。这只是一个非常基础的例子,我们借助这个例子,对怎么实现爬虫有个初步的概念,同时对这两个库的使用有更透彻的理解。但是怎么对抗反爬虫,我们后续继续跟进。

攻城狮7号的博客 2052

爬虫抓取猫眼电影排行

一 需求 我们要提取出猫眼电影TOP100的电影名称、时间、评分、图片等信息,提取的站点URL为http://maoyan.com/board/4,提取的结果会以文件形式保存下来。 二 技术手段 利用requests库和正则表达式抓取猫眼电影TOP100的相关内容。 三 抓取分析 我们需要抓取的目标站点为http://maoyan.com/board/4,打开之后便可以查看到榜单信息。...

实践求真知 3985

Python爬虫学习案例之抓取猫眼电影排行Top100

目前在自学python爬虫,接下来运用学习了的requests库和正则表达式实操一下Python爬虫初学者经常训练的一个小实战案例——猫眼电影排行Top100 抓取分析 首先我们打开抓取的目标站点https://maoyan.com/board/4 同时此时页面的URL为https://maoyan.com/board/4?offset=0 我们将网页滚到最下方,发现有分页的列表,直接点击第2页,观察页面的URL和内容发生了变化,URL变为了https://maoyan.com/board/4?of

qq_42642142的博客 3719
上一篇: 【Python】Python3网络爬虫实战-26、正则表达式
下一篇: 【Python】Python3网络爬虫实战-28、解析库的使用:XPath
未衬老师
博客等级 码龄7年 231粉丝 212原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值