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

下面是详细的攻略:

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中的logging模块实现日志打印

    Python中的logging模块是一个强大的日志记录工具,可以非常方便地实现日志的打印、控制日志级别、设置日志输出格式等功能。下面是一个完整的实现攻略: 1. 导入logging模块 在Python中,我们需要先导入logging模块才能对其进行调用。我们可以使用import logging语句将其导入。 import logging 2. 配置loggi…

    python 2023年6月5日
    00
  • Python使用grequests(gevent+requests)并发发送请求过程解析

    下面我将为你详细解析Python使用grequests(gevent+requests)并发发送请求的完整攻略,让你完全掌握这一技能。 什么是grequests grequests是基于gevent和requests库的并发请求库,它能够以异步方式执行多个HTTP请求,提高请求响应速度和网络处理性能。 如何安装grequests 你可以使用pip安装greq…

    python 2023年5月13日
    00
  • Python操作MySQL数据库的简单步骤分享

    当我们需要在Python中操作mysql数据库时,可以使用Python提供的MySQLdb模块或者pymysql模块来完成操作。下面分别给出两个示例: 使用MySQLdb模块操作MySQL数据库 步骤一:导入MySQLdb模块 使用MySQLdb模块之前首先需要导入它,这可以通过以下语句来实现: import MySQLdb 步骤二:连接数据库 连接数据库需…

    python 2023年6月6日
    00
  • python读写文件with open的介绍

    下面是关于“python读写文件with open的介绍”的完整攻略。 简介 在Python中,打开一个文件、读取或写入其中的内容是一个常见的操作。Python提供了多种方式来进行文件的读写,其中比较常用的是使用open函数来打开文件并进行读写操作,with open语句则是open函数的一种更加优雅的用法。 使用with open打开文件 使用with o…

    python 2023年6月5日
    00
  • 使用python检测主机存活端口及检查存活主机

    下面是使用Python检测主机存活端口及检查存活主机的完整攻略,过程中包含示例说明。 目录 背景 工具准备 nmap Python 使用nmap扫描存活主机 使用Python检测主机存活端口 结论 背景 在网络安全评估及渗透测试过程中,经常需要检测目标网络中存活的主机及存活端口。本文将介绍如何使用nmap与Python检测主机存活端口及检查存活主机。 工具准…

    python 2023年6月3日
    00
  • Python selenium实现大麦网自动购票过程解析

    下面是“Python selenium实现大麦网自动购票过程解析”的完整攻略。 1. 背景介绍 大麦网是一个音乐会、演唱会等票务信息平台,用户可以在该平台上购买各类演出门票。由于一些热门演出的门票常常在瞬间被抢购完毕,使用自动化工具进行抢票已经成为了很多人的选择。 本文介绍了如何使用 Selenium 及 Python 在大麦网进行自动购票的过程,方便大家在…

    python 2023年6月2日
    00
  • Python starmap()和map()应用数据

    Python中的starmap和map函数都可以应用于数据处理和转换,两个函数的作用很类似,都可以对序列中的每个元素应用一个函数进行转换,区别在于传入函数的参数不同。下面分别详细讲解: map() map()函数可以接受一个函数和一个或多个序列,将序列中每个元素应用函数处理,返回所有处理结果组成的列表。例如: def square(n): return n*…

    python-answer 2023年3月25日
    00
  • 懒人必备Python代码之自动发送邮件

    懒人必备Python代码之自动发送邮件 邮件是我们日常生活中常用的一种通信方式,而在工作中,更是必不可少的一种沟通方式。借助Python的自动发送邮件功能,可以简化我们发送邮件的流程,提高我们的工作效率。 准备工作 在使用Python发送邮件之前,需要先进行一些准备工作: 申请邮箱SMTP服务的授权码,以便Python能够使用这个账户发送邮件。 在本地安装P…

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