认识爬虫:如何使用 requests 模块根据电影类型爬取豆瓣电影排名前20的信息与评分

1、导入扩展模块
1# -*- coding: UTF-8 -*-
2# 导入网络请求模块 requests
3import requests
4# 导入 random 模块用来产生随机数
5import random
2、定义爬虫地址、并伪装头部信息
 1# 定义请求的 url 接口(需要请求的接口),假设接口 https://movie.douban.com/j/new_search_subjects
 2url = 'https://movie.douban.com/j/new_search_subjects'
 3
 4# 初识 user-agent,事先准备 user-agent 用于头部信息伪装
 5# 后续会说到如何生成 user-agent
 6user_agent = ['Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 '
 7              'Safari/537.36',
 8              'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)',
 9              'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 '
10              'Safari/534.50 '
11              ]
12
13# 定义请求头部信息(字典类型)
14headers = {
15    # User-Agent 信息用于伪装成用户访问,random.randint(0,2) 随机取出数组中定义好的一个
16    'User-Agent': user_agent[random.randint(0, 2)]
17}
3、封装请求参数
1# 设置请求参数,根据测试 range 必须赋值才可以取到数据
2params = {
3    'sort': '',
4    'range': '0,20',
5    'tags': '',
6    'start': '0',
7    'genres': '爱情',
8}
4、执行请求、并处理返回结果
 1# 执行 GET 请求
 2response = requests.get(url=url, headers=headers, params=params)
 3
 4# 打印响应信息,返回为 json 数据
 5print response.content
 6
 7# 使用response.json() 函数进行序列化输出
 8data_json = response.json()
 9print data_json
10
11# 提取 data_json 中的具体数据
12data_json_array = data_json['data']
13print data_json_array
14
15# 遍历获取电影名称、评分信息
16for data_line in data_json_array:
17    print '电影名称:', data_line['title'], ' -> 评分:', data_line['rate']

更多精彩前往微信公众号【Python 集中营】,专注于 python 技术栈,资料获取、交流社区、干货分享,期待你的加入~

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python 集中营

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值