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

该博客介绍了一个Python爬虫项目,利用正则表达式解析猫眼电影网站,获取电影排行榜前100的详细信息,包括电影排名、封面图片、片名、主演、上映时间和评分。数据存储为CSV文件并探讨了如何将数据保存到MySQL数据库。
摘要由CSDN通过智能技术生成

用正则表达式爬取猫眼电影top100,具体内容如下

#!/usr/bin/python

# -*- coding: utf-8 -*-

import json # 快速导入此模块:鼠标先点到要导入的函数处,再Alt + Enter进行选择

from multiprocessing.pool import Pool #引入进程池

import requests

import re

import csv

from requests.exceptions import RequestException #引入异常

## 正确保存,无丢失

# 请求一个页面返回响应内容

#以《霸王别姬》为列,右击—查看元素—会显示一个网页信息

def get_one_page(url,offset):

try:

response=requests.get(url=url,params={"offset":offset})

if response.status_code==200: #由状态码判断返回结果,200表示请求成功,300,500表出错

return response.text #返回网页内容

else:return None

except RequestException as e:

return None

# 解析一个页面

def parse_one_page(html):

pattern = ('

.*?board-index.*?>(\d+).*?data-src="(.*?)".*?name">

+ '.*?>(.*?)

.*?star">(.*?).*?releasetime">(.*?)'

+ '.*?integer">(.*?).*?fraction">(.*?).*?

')

#写个正则,匹配所有结果。这里由上面的网页相应内容写

开头,.*?匹配任意字符穿 board-index匹配标识符,类名,

# \d 表数字即排名,'+'表示匹配至少一个可多个数字,右边结束符

#“?”,问号表示 非贪婪匹配,就是一旦匹配到就不在继续往后面尝试。

#而\(和\)分别表示匹配一个“(”和“)”

# re.S匹配多行

regex = re.compile(pattern,re.S) #一个方法,通过一个正则表达式字符串编译生成一个正则表达式对象,re.S 匹配任意字符

items = regex.findall(html) #以列表形式返回全部能匹配的子串. eg: re.findall(pattern, string[, flags])

for item in items: #将结果以字典形式返回,键值对

yield{ #把这个方法变成一个生成器



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值