本文用正则、xpath、beautifulsoup、css、pyquery几种不同的方式,爬取猫眼电影。只是记录过程。比较乱。

猫眼电影现在也添加了一些反爬虫机制,如果直接用requests可能会403.所以最好添加header 和cookies。

添加的方法是使用网页的自动生成请求。

浏览器登陆,直接百度搜。

点击榜单

点击top100

出来页面之后,点击检查按钮,调出开发者工具。

选择network选项卡,然后在页面上,点击右键弹出“重新加载”,有的浏览器可能是“刷新”都差不多。

刷出来4这个页面,显示它是一个document,状态码是200.

选中4, 右键弹出copy

选择copy as curl(bash)。这样网络命令就拷贝到你的剪切板里了。

在进入这个网站,把剪切板里的东西粘贴到左边栏,就可以自动生成python请求语法。

https://curl.trillworks.com/

右边的代码直接拷贝到pycharm里。就可以生成response了。这样免去了自己写,复制粘贴cookies。省很多事,也不会出错。

可以看到,粘过来,自动会带有header, cookies

运行一下, 就可以得到response

可以打印出response.txt。太长了,不截屏了。

为了方便,我们还是把这个文件存到本地,方便练习解析库。

wk_dir = '(你的路径)'
import oswith open(os.path.join(wk_dir, 'maoyan.txt'), 'w', encoding = 'utf-8') as f:f.write(response.text)print("saved")

这样就保存了

如果不关电脑,一直用response.txt也行。

html = response.text
html

首先是正则。

选取一段代码研究,

电影的名字是在title后面

如果检查元素的话,可以发现

在“title" 和 ”data-act"之间。

打开这个网址,试一下:

https://c.runoob.com/front-end/854/

电影名字,就是正则表达式里面,括号里的内容,也是我们想提取的信息。

搜索电影评分

class="score".*?integer">(.*?)</i

这样就可以得到需要的 信息。用python把正则表达式写下来,就是。

这里我们首先选择每一部电影的源代码片段。观察发现,源代码片段是dd开头的。

所以在每一个dd里面。搜索正则。

这样不会乱。

for item in item_list:index = re.search(r"board-index-.*?>(\d.*?)</i", item)print(index.group(1))image = re.search(r'data-src.*?"(.*?)"', item)print(image.group(1))title = re.search(r'class="name".*?title="(.*?)"', item)print(title.group(1))actor = re.search(r'class="star">.*?(.*?)</p',item,  re.S)print(actor.group(1).strip())time = re.search(r'class="releasetime">(.*?)</p>', item, re.S)print(time.group(1).strip())score1 = re.search(r'class="integer">(\d)', item)score2 = re.search(r'class="fraction">(\d)', item)score = score1.group(1) +"." +score2.group(1)print(score)

这样就可以得到结果。

用正则表达式提取信息,就结束了。

在提取电影演员的时候,遇到一个问题,就是在线的正则表达式测试器都不太好用。最后发现了一个网址,这两个:

https://regex101.com/

这个是国外的,比较慢,

国内的是https://tool.lu/regex/

选中单行,就可以匹配到演员信息。很多在线测试工具没有这个功能,导致匹配不出来。

国外的网站就是这样的。

也要点选 single line

这样就能匹配到演员信息。

电影的缩略图信息,也能够匹配出来。

其他的就没啥问题了

python爬虫,爬取猫眼电影1(正则表达式)相关推荐

  1. Python爬虫爬取猫眼电影风语咒影评评论信息

    风语咒作为扛起国漫崛起的又一国漫之作,爬取风语咒猫眼的电影评论数据,以便对其评论做之后的数据分析. 此次demo的流程图如下: 一.找到猫眼电影中风语咒影评得json数据: l 找出url后,往下滚动 ...

  2. python爬虫 爬取猫眼电影数据

    # 定义一个函数获取猫眼电影的数据​ import requestsdef main():url = url = 'http://maoyan.com/board/4?offset=0'html = ...

  3. python爬虫--爬取-猫眼电影-代码

    import re import requests class Mao():def __call__(self, *args, **kwargs):"""当前类的对象当做 ...

  4. Python爬虫 爬取豆瓣电影TOP250

    Python爬虫 爬取豆瓣电影TOP250 最近在b站上学习了一下python的爬虫,实践爬取豆瓣的电影top250,现在对这两天的学习进行一下总结 主要分为三步: 爬取豆瓣top250的网页,并通过 ...

  5. 【python教程入门学习】Python爬虫抓取猫眼电影排行榜

    本节使用 Python 爬虫抓取猫眼电影网 TOP100 排行榜(https://maoyan.com/board/4)影片信息,包括电影名称.上映时间.主演信息. 在开始编写程序之前,首先要确定页面 ...

  6. python爬虫爬取豆瓣电影排行榜并通过pandas保存到Excel文件当中

    我们的需求是利用python爬虫爬取豆瓣电影排行榜数据,并将数据通过pandas保存到Excel文件当中(步骤详细) 我们用到的第三方库如下所示: import requests import pan ...

  7. Python爬虫爬取豆瓣电影评论内容,评论时间和评论人

    Python爬虫爬取豆瓣电影评论内容,评论时间和评论人 我们可以看到影评比较长,需要展开才能完整显示.但是在网页源码中是没有显示完整影评的.所以我们考虑到这部分应该是异步加载的方式显示.所以打开网页的 ...

  8. Python3爬虫——爬取猫眼电影排行

    一.爬取猫眼电影排行 目标:提取猫眼电影TOP100的电影排名.名称.主演.上映时间.评分.海报链接. URL:https://maoyan.com/board/4 保存:JSON # 版本:Pyth ...

  9. 记第一天使用node做爬虫——爬取猫眼电影票房总榜以及指定电影的豆瓣评论前200条

    首先,我是一个做前端的应届生,今天朋友想让我帮忙爬取猫眼电影票房总榜的数据,但是我之前一点都没接触过爬虫,但我还是说:okk,我试试: 然后试试就逝世,各种坑接踵而来: 提前声明:这篇文章暂时只是获取 ...

  10. python爬虫爬取豆瓣电影信息城市_Python爬虫入门 | 2 爬取豆瓣电影信息

    这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬 ...

最新文章

  1. 测试某个端口是否开放的方法
  2. “CAIL 2021中国法律智能技术评测”全面开启!
  3. 【工具篇】抓包中的王牌工具—Fiddler (1-环境搭建)
  4. 超图桌面版GIS配准基本操作
  5. Android性能优化案例研究(上)
  6. java B2B2C Springcloud电子商务平台源码-服务网关过滤器
  7. [Leetcode][第201题][JAVA][数字范围按位与][位运算][Brian Kernighan]
  8. 构建springboot微服务聚合工程
  9. mysqld install mysql default_Mysql_安装
  10. 支付宝 支付宝扫描生成的二维码提示:码已失效,请刷新二维码后重试
  11. paip.powerdesign cdm pdm文件 代码生成器 java web 页面 实现
  12. Linux基础——脚本
  13. 《数字电子技术基础》4.3 若干常用的组合逻辑电路 学习笔记
  14. cadence 原理图orcad使用总结
  15. 计算机操作系统-整理
  16. 使用DOSBox自动进入debug模式
  17. 3ds Max学习指南,基本知识与基本操作,常用快捷键汇总
  18. 运维的升级打怪之路v2版
  19. 【华人学者风采】王祥科 华北电力大学
  20. 微信群裂变引流文案技巧,这样写文案更吸引粉丝!

热门文章

  1. 3. 离散时间鞅(REN)
  2. 【控制】贪心算法(GA,Greedy Algorithm)及 Matlab 实现
  3. 【CoppeliaSim】远程 API 之 Python 控制,对比 V-rep 有些不同
  4. 【Matlab】求解积分方程的数值解
  5. 3.4 滑动窗口的卷积实现-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  6. STM 32如何实现程序自加密
  7. 基于FPGA的通用8251串行异步收发器(6600+字)
  8. 嵌入式Linux学习问题解决记录
  9. linux账号管理笔记
  10. Nginx正则表达式之匹配操作符详解