豆瓣top250

这篇博客介绍了如何使用Python爬取豆瓣电影Top250,包括安装环境、分析网页链接、爬取网页、筛选信息、数据保存等步骤。通过分析网页结构和使用requests、lxml库,最终成功获取电影信息并存储为CSV文件。
摘要由CSDN通过智能技术生成

第一课、《Python爬取豆瓣电影TOP250》

1、准备工作

1.安装

python,并安装jupyter库,便于使用jupyter notebook编辑页面。

2.建立环境

新建一个文件夹,在文件夹的路径栏输入CMD进入命令提示符页面,输入 pip install jupyter安装jupter。

新建文件夹
在这里插入图片描述
进入命令提示符安装jupyter
在这里插入图片描述

3.进入编辑环境

安装完成后,在命令提示符中输入jupyter notebook进入编辑环境
在这里插入图片描述
(请勿关闭该窗口,否则打开的环境会被报错)
进入编辑环境
在这里插入图片描述
新建一个项目
在这里插入图片描述
打开后,如图所示
在这里插入图片描述

2、分析网页

1.打开豆瓣top250网页

在这里插入图片描述

2.分析网页链接

选取多页网页的链接,分析起规律
第一页:https://movie.douban.com/top250
第二页:https://movie.douban.com/top250?start=25&filter=
第三页:https://movie.douban.com/top250?start=50&filter=
第四页:https://movie.douban.com/top250?start=75&filter=
最后一页:https://movie.douban.com/top250?start=225&filter=

可以发现从第二页起,每一页的链接有变化的是“start=”后的数字,且每次变化的值都为25,我们可以反推第一页的网页链接为
https://movie.douban.com/top250?start=0&filter

3、爬取网页

1.根据分析的结果用for循环爬取所有链接

for page in range(0, 226, 25):
    url = 'https://movie.douban.com/top250?start=%s&filter='%page

最后一页网页链接start后的数值为255,在for循环中如果写的上限为255则取不到该值,需要往上加一个数,所以上限写为226

2.请求网页源代码

实现这个目的,需要在python中安装request库,同样的也是在命令提示符中输入为pip install requests

在进行请求之前,我们需要到对应的网站上去查询该网页的请求网址、请求方法以及请求成功的状态码

查询上面参数的操作方法如下:

(1)在网页中点击鼠标右键,并点击检查
在这里插入图片描述
(2)点击检查后网页变为下列形式
在这里插入图片描述
(3)按照下列顺序点击,进入查看页面
在这里插入图片描述
(通常情况下需要刷新一遍网页才会出现相应的内容)
在这里我们可以看到,该网页的请求方式为GET,请求成功状态码为200

(4)得到这些内容后,我们可以开始请求该网页了。

import requests
test_url=’ https://movie.douban.com/top250?start=0&filter=’
requests.get(url= test_url)

requests表示库名,.get表示请求方法(网页中看到的是get),括号中的内容为网页的链接
运行结果如下:
在这里插入图片描述
返回的值为418不是200,说明我们的方法出现了一些问题。浏览器识别出这个语句是爬虫程序,故拒绝返回值给我们,至此,我们需要伪装浏览器。

3.伪装浏览器

将程序伪装成正常的用户访问,躲过浏览器的识别,以便成功获取数据。
首先,将代码审查中的用户代理复制过来,并将其构造成一个字典。
(1)网页的用户代理查看方式
在这里插入图片描述
(2)在我们上面的代码中加入该代理

import requests
test_url = 'https://movie.douban.com/top250?start=0&filter='
headers = 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值