【python 爬虫】requests模块

概览

requests可以模拟浏览器发起HTTP或HTTPS协议的网络请求,从而获取网页源代码

发起网络请求的主要使用方法是requests中的get()和post(),其中get()的功能是发起获取网页的请求,post()是向服务器传送数据、常用来模拟用户登录。

1、获取静态网页的源代码

打开百度网页,并打印网页源代码

import requests as re

rp = re.get(url='https://www.baidu.com')
print(rp.text)

运行结果

 2、获取动态加载的数据

动态网页是服务器返回的一个网页模板,数据通过Ajax或者其他方式填充的模板里,需要的数据一般都在服务器返回的JSON格式数据包里

动态和静态的区分:如果网页随着浏览器的滚动条下拉会有更多数据加载出来,那这种就是动态的

import requests as re

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

url='https://movie.douban.com/j/chart/top_list'
params={'type':'25','interval_id':'100:900','action':'','start':'0','limit':'1'}
rp = re.get(url=url,headers=header,params=params)

r=rp.json()
print(r)

 

 3、获取图片

获取源代码时,先用get()获取响应对象,再用响应对象的text属性提取网页源代码。但是如果要获取图片,也是先用get()获取响应对象,但是不能用text属性提取,应该用content属性提取图片的二进制字节码。

import requests
url = ''

response = requests.get(url = url)
content = response.content

with open('图片.jpg', 'wb') as fp:
    fp.write(content)

猜你喜欢

转载自blog.csdn.net/weixin_39407597/article/details/126572283