python爬取结果切片_Python爬虫入门实战之猫眼电影数据抓取(实战篇)

项目实战

静态网页实战

本节我们将为大家展现一个完整爬虫的大致过程,此次项目内容为提取猫眼电影TOP100榜中的所有电影信息并存储至CSV文件中,其首页地址为 http://maoyan.com/board/4 ,在3.2.2中我们已经获取过第一页中的所有电影名了,但是如何获取第二页、第三页的数据呢,即获取第二页第三页对应的URL,那么我们可以在浏览器中不断翻页寻找地址栏中URL的变化规律:

 
 
 
 

......

我们看见URL的改变规律就是参数offset值不断偏移,每页偏移的值为10,由此我们可以编写一个获取每页数据函数,接收参数就是页码数:

 
 
 
 

import requests

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'

}

偏移参数,默认为0,即为第一页

params = {

'offset': 0

}

def get_html(page):

'''

获取一页html页面

:param page: 页数

:return: 该页html页面

'''

params['offset'] = page * 10

try:

response = requests.get(url, headers=headers, params=params)

if response.status_code == 200:

html = response.text

return html

else:

return -1

except:

return None

当我们获取到html页面后,就可以提取相应的电影信息了,比如榜单张每一项电影都会有的属性:电影名称,主演,上映时间,评分等信息。提取信息有多种方式,下面我们利用正则表达式提取电影信息:

 
 
 
 

def parse_infor(html):

'''

提取html页面中的电影信息

:param html: html页面

:return: 电影信息列表

'''

编写正则字符串规则,提取 电影名,主演,上映时间,评分信息

pat = re.compile('

. ?(. ?). ?(. ?).?(. ?). ?
. ?. ?(. ?)(. ?). ?
. ?. ?', re.S)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值