爬取豆瓣最新电影

  1. 获取url
 url = 'https://movie.douban.com/j/search_subjects'
  1. UA伪装,即User-Agent伪装,加上这个会被当做一个浏览器发来的请求,防止被拦截,其中’User-Agent’后边的内容可以进入浏览器后右键检查或f12,在network中查看
headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36 Core/1.94.197.400 QQBrowser/11.6.5265.400'
    }
  1. 定义url所需的参数,为字典类型,即key:value形式
 params = {
       ' type': 'movie',
        'tag': '最新',
        'page_limit': '50',
        'page_start': '0'
    }
  1. 调用requests的get或post方法,模拟浏览器发送请求
respond = requests.get(url=url,params=params,headers=headers)
  1. 持久化存储
#对返回的json数据进行处理
    dic_obj = respond.json()
    fileName = 'movie.json'
    #新建一个文件
    fp = open(fileName,'w+',encoding='utf-8')
    #数据持久化到本地
    json.dump(dic_obj,fp,ensure_ascii=False)
  1. 全部完整代码
import json
'''
1、获取url
2、UA伪装,即User-Agent伪装,加上这个会被当做一个浏览器发来的请求,防止被拦截
3、定义url所需的参数,为字典类型,即key:value形式
4、调用requests的get或post方法,模拟浏览器发送请求
5、对返回的数据进行持久化存储
5.1、如果是页面跳转的话,就保存整个页面为html后缀的文件
5.2、如果是页面局部刷新的话,即返回类型为json文件
5.2.1、第一步,对返回数据进行处理,例如respond.json()
5.2.2、第二步,新建一个后缀为.json的文件
5.2.3、最后,调用json包的dump方法,将第一步中的数据存储到第二步的本地文件中
'''
import requests
def movies():
    # url
    url = 'https://movie.douban.com/j/search_subjects'
    # 携带的参数
    params = {
       ' type': 'movie',
        'tag': '最新',
        'page_limit': '50',
        'page_start': '0'
    }
    # ua检测
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36 Core/1.94.197.400 QQBrowser/11.6.5265.400'
    }
    # 发送请求
    respond = requests.get(url=url,params=params,headers=headers)
    #对返回的json数据进行处理
    dic_obj = respond.json()
    fileName = 'movie.json'
    #新建一个文件
    fp = open(fileName,'w+',encoding='utf-8')
    #数据持久化到本地
    json.dump(dic_obj,fp,ensure_ascii=False)
    print('爬取结束!')
if __name__ == '__main__':
        movies()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Double Handsome

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

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

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

打赏作者

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

抵扣说明:

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

余额充值