爬虫-爬取豆瓣电影排行榜

先上代码,后面细说

import urllib.request

url = "https://movie.douban.com/j/new_search_subjects?sort=U&range=0,10&tags=&start=0";

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

# 1.请求对象的定制
request = urllib.request.Request(url=url, headers=Agent)

# 2.获取响应的数据
response = urllib.request.urlopen(request);
content = response.read().decode('utf-8')

# 下载数据到本地
with open('douban.json','w',encoding='utf-8') as fp:
    fp.write(content)


在这里插入图片描述



准备工作

我们先打开豆瓣电影,摁下F12,找到Network这一栏,摁下F5刷新
在这里插入图片描述
可以看到出现了很多的请求,但我们要找到我们需要的。

我们先想一个问题, 因为电影网站的数据量是十分庞大的, 渲染如此庞大的数据只有一种可能,就是通过JS发送ajax请求, 来从后端获取数据再渲染到页面上,。那么我们的数据源就明确了, 接下来就需要打开F12控制台中的Network, 选中XHR, 然后刷新页面就找到了数据源, 下面Preview显示的就是我们需要的电影数据
在这里插入图片描述

我们先把url和Agent复制下来,准备工作就完成了
在这里插入图片描述
在这里插入图片描述

import urllib.request

url = "https://movie.douban.com/j/new_search_subjects?sort=U&range=0,10&tags=&start=0";

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

在这里插入图片描述

请求对象的定制

# 1.请求对象的定制
request = urllib.request.Request(url=url, headers=Agent)

因为我们传参数的位置跟在Request方法中的参数位置不一样,所有我们要url=url, headers=Agent

在这里插入图片描述
在这里插入图片描述

获取响应的数据

# 2.获取响应的数据
response = urllib.request.urlopen(request);
centent = response.read().decode('utf-8');

打印出来看看有没有问题
在这里插入图片描述
是这个,我们现在就保存我们的数据

数据下载到本地

在这里插入图片描述
可以看到它是json的数据,所以我们也用json数据保存下来

# 下载数据到本地
with open('douban.json','w',encoding='utf-8') as fp:
    fp.write(content)

open方法默认使用gdk编码,如果数据里面有汉字,我们需要在open方法指定编码格式为’utf-8,也就是encoding='utf-8'
在这里插入图片描述

保存下来了,去看看成果
在这里插入图片描述
最开始下载下来的是一条长串,如果是pycharm就全部选中,然后crtl+alt+L就能自动整理成现在更直观的样子

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值