[Python练习]使用Python爬虫爬取豆瓣top250的电影的页面源码

1.安装requests第三方库

在终端中输入以下代码(直接在cmd命令提示符中,不需要打开Python)

pip install requests -i https://pypi.douban.com/simple/

从豆瓣网提供的镜像网站下载requests第三方库

pip install requests

是从国外网站下载,速度慢甚至有时候无法下载

2.导入第三方库

import requests

3.编写代码

import requests

response = requests.get('https://movie.douban.com/top250')
print(response.text)  # 打印返回的原始HTML

4.运行

运行代码之后,没反应,无输出结果

可以看一下返回的页面请求状态码是多少:

状态码是418,所有4开头的状态码都表示客户端错误,也就是说我们这边发送的请求存在问题。418状态码表示服务器不想响应你的请求。

但是我们的请求并没有问题。其实,这里是豆瓣在用这个状态码回应爬虫:希望服务正常的浏览器而不是爬虫程序的请求

遇到这种情况,可以绕过去的一个方法就是可以定义请求头,把程序伪装成浏览器

可以新建一个叫做headers的字典变量,请求头的User-Agent里面会给服务器提供一些客户端的信息。所以要去指定User-Agent的值

现在的问题是User-Agent的值是什么?

我们可以从浏览器发送的请求里去“抄作业”

回到浏览器,进入任何一个页面,右键,点击检查

找到“网络”或network。

刷新一下网页,这样你就能看到浏览器发出的所有http请求。随便点击一个请求,找到User-Agent

把冒号后边的信息复制下来到代码中

修改代码为:

import requests

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

response = requests.get('https://movie.douban.com/top250',headers=headers)
print(response.status_code)

运行成功

现在,获取豆瓣top250的电影的页面源码:

import requests

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

response = requests.get('https://movie.douban.com/top250',headers=headers)
print(response.text)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

chinacha_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值