python正则表达式爬取猫眼电影top100

yizhihongxing

下面是详细的攻略:

Python正则表达式爬取猫眼电影Top100

在本文中,我们将使用Python正则表达式爬取猫眼电影Top100的电影信息。我们将使用Python的requests库发送HTTP请求,然后使用正则表达式从HTML页面中提取电影信息。

爬取猫眼电影Top100

首先,我们需要使用Python的requests库发送HTTP请求,获取猫眼电影Top100的HTML页面。下面是示例代码:

import requests

url = 'https://maoyan.com/board/4'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
html = response.text

在上面的代码中,我们使用requests库发送HTTP请求,获取猫眼电影Top100的HTML页面。我们使用了requests.get()函数发送GET请求,然后使用response.text属性获取HTML页面的文本内容。

提取电影信息

接下来,我们需要使用正则表达式从HTML页面中提取电影信息。我们可以使用Python的re模块来进行正则表达式操作。下面是示例代码:

import re

pattern = r'<dd>.*?board-index.*?>(\d+)</i>.*?data-src="(.*?)".*?name"><a.*?>(.*?)</a>.*?star">(.*?)</p>.*?releasetime">(.*?)</p>.*?integer">(.*?)</i>.*?fraction">(.*?)</i>.*?</dd>'
movies = re.findall(pattern, html, re.S)
for movie in movies:
    print(movie)

在上面的代码中,我们使用正则表达式从HTML页面中提取电影信息。我们使用了re.findall()函数来搜索HTML页面中匹配正则表达式的所有字符串,并返回一个列表。我们使用了一个较为复杂的正则表达式,用于匹配电影的排名、海报、名称、主演、上映时间、评分等信息。

示例一:提取电影名称

下面是一个示例,演示如何使用正则表达式从HTML页面中提取电影名称:

import re
import requests

url = 'https://maoyan.com/board/4'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
html = response.text

pattern = r'<dd>.*?board-index.*?>(\d+)</i>.*?data-src="(.*?)".*?name"><a.*?>(.*?)</a>.*?star">(.*?)</p>.*?releasetime">(.*?)</p>.*?integer">(.*?)</i>.*?fraction">(.*?)</i>.*?</dd>'
movies = re.findall(pattern, html, re.S)
for movie in movies:
    name = movie[2]
    print(name)

在上面的代码中,我们使用正则表达式从HTML页面中提取电影名称。我们使用了re.findall()函数来搜索HTML页面中匹配正则表达式的所有字符串,并返回一个列表。然后,我们使用了一个for循环遍历列表,提取每个电影的名称。

示例二:提取电影评分

下面是另一个示例,演示如何使用正则表达式从HTML页面中提取电影评分:

import re
import requests

url = 'https://maoyan.com/board/4'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
html = response.text

pattern = r'<dd>.*?board-index.*?>(\d+)</i>.*?data-src="(.*?)".*?name"><a.*?>(.*?)</a>.*?star">(.*?)</p>.*?releasetime">(.*?)</p>.*?integer">(.*?)</i>.*?fraction">(.*?)</i>.*?</dd>'
movies = re.findall(pattern, html, re.S)
for movie in movies:
    score = movie[5] + movie[6]
    print(score)

在上面的代码中,我们使用正则表达式从HTML页面中提取电影评分。我们使用了re.findall()函数来搜索HTML页面中匹配正则表达式的所有字符串,并返回一个列表。然后,我们使用了一个for循环遍历列表,提取每个电影的评分,并将整数部分和小数部分拼接成一个字符串。

总结

本文介绍了如何使用Python正则表达式爬取猫眼电影Top100的电影信息。我们使用了Python的requests库发送HTTP请求,然后使用正则表达式从HTML页面中提取电影信息。同时,我们还提供了两个示例,用于演示如何使用正则表达式从HTML页面中提取电影名称和评分。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python正则表达式爬取猫眼电影top100 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • Python 使用 prettytable 库打印表格美化输出功能

    Python是一种功能强大的编程语言,广泛应用于数据处理、机器学习、人工智能等领域。在进行数据处理时,我们经常需要将数据以表格的形式展示出来,同时还要考虑表格的美观性和易读性。 而使用Python的prettytable库可以方便地实现对表格的美化输出。下面就是详细的攻略: 什么是prettytable库 prettytable库是Python的一个第三方库…

    python 2023年6月5日
    00
  • tensorflow 打印内存中的变量方法

    要打印tensorflow内存中的变量,我们需要使用tensorflow的Session类中的run方法。具体代码如下: import tensorflow as tf # 创建一个tensorflow变量x x = tf.Variable(0) # 创建一个操作,将x加1 add_op = tf.assign_add(x, 1) # 创建一个会话 with…

    python 2023年6月3日
    00
  • python实现人人自动回复、抢沙发功能

    Python实现人人自动回复、抢沙发功能 概述 人人网是国内知名的社交网络,由于其用户多样化和活跃度高等特点,很多人喜欢在其上发布内容和交友互动。本文将介绍如何使用Python实现人人网自动回复和抢沙发功能。 前置需求 在进行本文介绍的功能实现前,你需要掌握以下技能: Python编程语言的基础知识 使用requests库进行Web请求 使用Beautifu…

    python 2023年5月19日
    00
  • Python学习之Anaconda的使用与配置方法

    Python学习之Anaconda的使用与配置方法 Anaconda是一种Python的环境和包管理器。它可以使不同版本的Python之间的转换变得简单,并且可以帮助您管理依赖项和安装新软件包。 安装Anaconda 首先,您需要从Anaconda官网下载合适的安装程序。选择您想要的操作系统和Python版本。安装包通常比较大,所以请耐心等待下载完成。 配置…

    python 2023年5月13日
    00
  • 为什么这个记忆化的 Euler14 实现在 Raku 中比 Python 慢得多?

    【问题标题】:why is this memoized Euler14 implementation so much slower in Raku than Python?为什么这个记忆化的 Euler14 实现在 Raku 中比 Python 慢得多? 【发布时间】:2023-04-07 06:03:01 【问题描述】: 我最近在玩problem 14 中…

    Python开发 2023年4月8日
    00
  • python解析基于xml格式的日志文件

    Python解析基于XML格式的日志文件攻略 什么是XML文件? XML 是可扩展标记语言(eXtensible Markup Language)的缩写。它是一种标记语言,很像 HTML。不过,XML 与 HTML 最大的不同之处在于,HTML 的标记预定义了,而 XML 由用户自己定义标记。 XML格式的日志文件 XML格式的日志文件是指记录日志信息的文件…

    python 2023年6月3日
    00
  • Python出现segfault错误解决方法

    Python出现segfault错误解决方法 在Python中,segfault错误通常是由于内存访问错误或其他底层问题导致的。当Python解释器遇到segfault错误时,程序将崩溃并退出。本文将介绍一些常见segfault错误及其解决方法。 解决方法1:更新Python版本 如果您的Python版本过旧,可能会导致segfault错误。解决是更新Pyt…

    python 2023年5月13日
    00
  • pip报错“ValueError: invalid literal for int() with base 10: ””怎么处理?

    当使用 pip 安装 Python 包时,可能会遇到 “ValueError: invalid literal for int() with base 10: ”” 错误。这个错误通常是由于在使用 pip 安装包时,输入的参数不正确导致的。以下是详细讲解 pip 报错 “ValueError: invalid literal for int() with …

    python 2023年5月4日
    00
合作推广
合作推广
分享本页
返回顶部