python爬虫下载库:requests库的安装和具体用法实例介绍

安装模块:

pip install requests

python requests 第三方库有什么用?

相对于Python 的标准库 urllib 下载器来说,requests 下载器使用起来容易理解,也容易开发,这无疑提高了开发的效率。

下面从五个方面讲解 requests 库常见的用法:

1.没有添加任何参数的情况下

import requests

reponse=requests.get("https://www.baidu.com/")
reponse.encoding='utf-8'
# 返回状态码
print(reponse.status_code)
# 打印网页的内容
print(reponse.text)

2.请求头

为什么要设置请求头呢?因为网站为了防止别人恶意爬取网址的信息而设置的反爬虫技术。

例如以下例子的爬取https://www.whatismyip.com/网址遭到拒接。

import requests
reponse=requests.get("https://www.whatismyip.com/")
reponse.encoding='utf-8'
# 返回状态码
print(reponse.status_code)
# 打印网页的内容
print(reponse.text)

返回结果是:

 403
 <html>
 <head><title>403 Forbidden</title></head>
 <body bgcolor="white">
 <center><h1>403 Forbidden</h1></center>
 <hr><center>nginx</center>
 </body>
 </html>

所以我们要设置请求头

import requests

#构建请求头,模拟浏览器访问
header={'User-Agent': 'Mozilla/5.0 '}
reponse=requests.get('https://www.whatismyip.com/',headers=header)
print(reponse.content.decode('utf-8'))  # 解码以字符串形式输出

现在就运行成功了

3.post请求

为什么要设置post请求呢?因为有些网址需要登录才能访问,

所以我们要设置post请求的表单信息

import requests
#包装要发送的数据
data={ 'name':'zhang',  'age':'18' }
header={ 'User-Agent':  'Mozilla/5.0 '}
#调用post()方法进行post请求
reponse=requests.post('http://httpbin.org/post',data=data, headers=header)
# 输出请求的内容
print(reponse.text)

4.代理的使用

为什么要使用代理服务器呢?有时候我们发现以前可以访问的网站,

现在访问不了,这是因为我们的ip被屏蔽了

国内代理服务器网址:http://yum.iqianyue.com/proxy

import requests
proxy = {'http://': '61.135.217.7:80'}
reponse=requests.get('http://www.baidu.com/',proxies=proxy)
# 输出状态码
print(reponse.status_code)

5.超时设置

如果程序长时间没有响应,我们就需要来设置时间来检测程序是不是已经超时了(注意时间不要设置太短,要根据网络、服务器快慢状态来设置)

import requests
from requests.exceptions import Timeout

try:
	 for i in range(1,51):
  		 reponse=requests.get('http://www.baidu.com/',timeout=3)
  		 print(reponse.status_code)
  
# 一有错误就终止程序的运行,输出错误信息
except Timeout as e:
	print(e)

ps:文章来源于小编的头条号:“python数据科学频道”,想在手机端方便看文章的朋友可以去关注我的头条号。
文章到此结束

猜你喜欢

转载自blog.csdn.net/qq_41731978/article/details/86634829