python爬虫入门练习:正则表达式爬取猫眼电影TOP100排行榜,openpyxl保存本地excel文件

使用requests爬取猫眼电影TOP100排行榜
网址:https://maoyan.com/board/4
方法:Python3,requests.get()获取网页,正则表达式re.findall匹配目标内容
目标:爬取猫眼电影TOP100排行榜,排名,电影名称,主演,上映时间,评分,并保存至本地文件
如何爬取:打开目标网页,鼠标右键查看网页源代码,发现每个电影信息都是以如下形式表示,每个<dd>***</dd>中间就是一部电影信息,于是用正则表达式对<dd></dd>中间的内容进行匹配,获取目标信息( .*? 替换任意内容,[0-9]+替换任意数字)在这里插入图片描述
编码思路:为爬取目标,大体上可分为三步,登录-爬取-保存

第一步:

# coding=utf-8
import requests
import re, json
from time import ctime #测试用,返回当前时间
# 定义登录函数,判断返回码 
def login(url):
    req = requests.get(url)
    if req.status_code == 200:
        return req.content.decode('utf-8')
    else:
        return None

第二步:

# 获取页面,正则表达式匹配内容
data = []
def page(text):
    html = re.findall(
            '<i class="board-index board-index-[0-9]+">([0-9]+)</i>.*?<p class="name"><.*?>(.*?)</a></p>.*?<p class="star">(.*?)</p>.*?<p class="releasetime">(.*?)</p>.*?<i class="integer">([0-9\.]+)</i><i class="fraction">([0-9]+)</i></p>',
            text, re.S)
            #re.S支持换行符;“数字.”中小数点需要转义[0-9\.]+;
    for l in html:
        datalist = {
   '排名': l[0], '电影名称': l[1], '主演': l[2].strip()[3:], '上映时间': l[3].strip()[
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值