requests+正则表达式爬取猫眼电影TOP100!
前言
本文主要讲述使用python爬取猫眼TOP100榜的电影名称,评分,以及电影图片等,爬取的URL是:http://maoyan.com/bard/4。
安装类库
pip install requests
分析目标URL
打开http://maoyan.com/bard/4,观察页面规律。
可以看到页面上链接已经变为http://maoyan.com/board/4?offset=10,可以看的出来第二页链接新增了offset=10这个参数,这时可以看到排名20到30的电影信息,我们手动更改这个参数,就可以看到TOP100的全部电影信息了。
抓取单个页面
将url=http://maoyan.com/board/4,传入get_one_page()函数,可以获取目标地址的源代码。
正则解析
打开浏览器调试页面可以发现我们要抓取的所有信息被<dd></dd>标签包含,所以我们只要把<dd></dd>中所有要抓取的信息都用正则表达式匹配出来就可以了。
表达式如下:
排名:<dd>.*?board-index.*?>(.*?)</i>
图片:<dd>.*?board-index.*?>(.*?)</i>.*?src="(.*?)"
电影名称:
<dd>.*?board-index.*?>(.*?)</i>.*?src="(.*?)".*?name.*?a.*?>(.*?)</a>
最后解析全部字段解析如下,同时我们还要对解析出来的数据进行结构化处理:
写入文件
写入文件,我们在上面结构化处理后的文件是构建的字典格式,我们可以通过JSON库,序列化输出到本地文件中。
构建分页链接
因为猫眼的偏移量是10,20,,,100,所以在构建的时候可以构建一个生成式传入到mian()函数当中。代码块如下:
脚下留心
请求的时候带上header,减小被服务器识别为爬虫的概率,算是反反爬的一种。
写在最后
1、之前写爬虫的时候往往一个函数涵盖全部的功能,之后维护起来自己都想抽自己,之后看了几个大佬的代码之后也学习到函数式编程的好处,把功能写成一个个函数方便之后维护,别人也能看的懂你在写什么。
2、还有就是多加注释,实习的时候实习的师傅告诉我最好在写代码的时候注释的量能占到总的百分20%,虽然并没有写到那么多,但是还是养成写注释的习惯,方便自己方便他人。
requests+正则表达式爬取猫眼电影TOP100!相关推荐
- 爬虫从头学之Requests+正则表达式爬取猫眼电影top100
爬取思路 当我们想要爬取一个页面的时候,我们要保证思路清晰,爬虫的思路分四个步骤,发起请求,获取响应内容,解析内容,存储内容.根据这四个内容我们的思路就很清晰.以下为具体步骤 使用requests库爬 ...
- Requests+正则表达式爬取猫眼电影(TOP100榜)
猫眼电影网址:www.maoyan.com 前言:网上一些大神已经对猫眼电影进行过爬取,所用的方法也是各有其优,最终目的是把影片排名.图片.名称.主要演员.上映时间与评分提取出来并保存到文件或者数据库 ...
- requests+正则表达式爬取猫眼电影TOP100
代码: 1 import json 2 from multiprocessing import Pool 3 import requests 4 # http://cn.python-requests ...
- python爬取猫眼_python正则表达式爬取猫眼电影top100
用正则表达式爬取猫眼电影top100,具体内容如下 #!/usr/bin/python # -*- coding: utf-8 -*- import json # 快速导入此模块:鼠标先点到要导入的函 ...
- Python爬虫之requests+正则表达式抓取猫眼电影top100以及瓜子二手网二手车信息(四)...
requests+正则表达式抓取猫眼电影top100 一.首先我们先分析下网页结构 可以看到第一页的URL和第二页的URL的区别在于offset的值,第一页为0,第二页为10,以此类推. 二.< ...
- 利用正则表达式爬取猫眼电影TOP100信息
本文利用requests库和正则表达式爬取了猫眼电影TOP100电影信息,并将电影封面和标题.主演等文字信息保存在了本地.本文完整代码链接:https://github.com/iapcoder/Ma ...
- Python爬虫实战01:Requests+正则表达式爬取猫眼电影
1 目标站点的分析 2 流程框架 抓取单页内容 利用requests请求目标站点,得到单个网页HTML代码,返回结果. 正则表达式分析 根据HTML代码分析得到电影的名称.主演.上映.时间.评分.图片 ...
- Requests+正则爬取猫眼电影TOP100
(一)目标站点的分析 首先打开我们的目标网站,发现每一页有十个电影,最下面有分页标志,而分页只改变的是标签后缀,如下: 而后可以在网页按f12打开源代码管理,查看网页每处信息对应的源代码形式,如下图: ...
- python爬虫入门练习:BeautifulSoup爬取猫眼电影TOP100排行榜,pandas保存本地excel文件
传送门:[python爬虫入门练习]正则表达式爬取猫眼电影TOP100排行榜,openpyxl保存本地excel文件 对于上文使用的正则表达式匹配网页内容,的确是有些许麻烦,替换出现任何的差错都会导致 ...
- 猫眼html源码,50 行代码教你爬取猫眼电影 TOP100 榜所有信息
点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 今天,手把手教你入门 Python 爬虫,爬取猫眼电影 TOP100 榜信息. 作者 | 丁 ...
最新文章
- python基础(十二):正则、re模块、贪婪和非贪婪
- Cpp 对象模型探索 / 含有虚基类的类的内存布局
- Github中Tag的使用
- 软件工程学习笔记《目录》
- PHPMailer - PHP email transport class
- java jnlp 靠谱吗_获取当前的JNLP信息
- Sqli-labs less 40
- 任正非:未来是云时代,华为也要转向云战略
- python基础装饰器(二十)
- 设计模式的七大设计原则:其二:接口隔离原则
- 转载︱案例 基于贪心算法的特征选择
- .NET Core(.NET 6)控制台应用程序与MongoDB Atlas入门示例教程详解
- 大数据与云计算是什么关系
- 《统计学》笔记:第2章 数据的搜集
- 海康威视实习第一周总结
- Java8新特性 方法引用(二)
- python三国演义人物 统计分析前20个_python爬取三国演义文本,统计三国演义中出场次数前30的人物,并生成词云、图表...
- 企业实施PDM能解决这些问题
- javascript 知识
- linux下强制覆盖的密令
热门文章
- 简单20行python代码_就这么简单!20行Python代码爬取腾讯视频
- 蓝桥杯 试题 算法训练 P0704 回文数和质数
- 雷军做程序员时写的博客,有点东西!
- 服务器刷新率和显示器刷新率,什么是屏幕刷新率
- 【5G/4G】AT Command 详细教程(基于3GPP Spec 27.007)
- 为什么手机浏览器打不开html文件,win7浏览器打不开本地html文件的原因及解决方法...
- Adaptive icon 一 :理解 Android 的「自适应图标」
- EasyGUI-2:函数基础
- Beamer编译排错
- 如何撰写一份好的市场调查报告