python 爬虫 入门第一天

今天学习的是requests 和ua伪装

一、requests 

Requests 库是 Python 中发起 HTTP 请求的库

第一步 安装requests 库

        进入到python安装目录下的Scripts文件中,输入pip install requests就好了

        安装路径可以右键“复制路径/查看路径中查看”,再cmd里安装就行

第二步 如何使用

用import去引用,使用的话 用requests 去发送get请求,后面跟上url

import requests
res = requests.get('https://www.baidu.com/')
print(res)
print(res.status_code) #返回http状态码

直接输出requests会返回一个响应,这个响应可以判断是否成功,常见的状态码有这几种:

1xx     信息,表示临时响应并需要请求者继续执行操作
2xx    成功,操作被成功接收并处理
3xx    表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向
4xx    客户端错误,请求包含语法错误或无法完成请求
5xx    这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错

我们可以根据requests返回的状态码做一个范围判断:

import requests
res = requests.get('https://www.baidu.com/')
print(res)
print(res.status_code) #返回http状态码
if res.status_code >= 200 and res.status_code < 400:
    print('访问成功')
elif res.status_code >= 400 and res.status_code < 500:
    print('访问失败')
elif res.status_code >= 500:
    print('服务器错误')

也可以通过requests的ok属性去判断访问是否成功。成功为true,失败为false

if res.ok:
    print('成功')
else:
    print('失败')

 二、UA伪装

什么是ua伪装

让爬虫对应的请求载体身份标识伪装城某一款浏览器

具体操作:将合适的User-Agent封装到一个字典中

请求标头中有个User-Agent,表示请求载体的身份标识

例如某些浏览器不希望程序访问,在发送requests请求的时候会返回418 我是一个茶壶 这个时候就需要包装一个User-Agent到请求头,有些网站可能会检查请求之间的时间间隔,如果请求过于频繁,可能会被认为是爬虫。在这种情况下,可以在你的请求之间添加一些延迟。

如何使用ua伪装

例如:豆瓣的电影榜单:

import requests
res = requests.get('https://m.douban.com/movie/')
print('res.ok:', res.ok)#res.ok: False
print(res)
print(res.status_code) #返回http状态码
if res.status_code >= 200 and res.status_code < 400:
    print('访问成功')
elif res.status_code >= 400 and res.status_code < 500:
    print('访问失败')
elif res.status_code >= 500:
    print('服务器错误')

if res.ok:
    print('成功')
    print(res.text)
else:
    print('失败')

这个时候我们可以封装一个User-Agent到请求头,伪装成正常浏览器再去访问一次。

将合适的User-Agent封装到一个字典中,再传入至请求头里面去。

import requests
rq_head = {
    'User-Agent':
        'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36',
}
res = requests.get('https://m.douban.com/movie/',headers=rq_head)

print('res.ok:', res.ok)#res.ok: False
print(res)

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值