python的requests模块功能_python爬虫之requests模块

引入

什么是requests模块

requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求。功能强大,用法简洁高效。在爬虫领域中占据着半壁江山的地位。

为什么使用requess模块

因为在使用urllib模块的时候,会有诸多不便之处,总结如下:

手动处理url编码

手动处理post请求参数

处理cookie和代理操作繁琐

使用requests模块:

自动处理url编码

自动处理post请求参数

简化cookie和代理操作

安装requests模块

pip install requests

需求:爬取搜狗指定词条搜索后的页面数据

###需求 爬取搜狗中指定词条搜搜后的页面数据

import requests

url ='https://www.sogou.com/'

word = input('enter a word')

headers={

'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:65.0) Gecko/20100101 Firefox/65.0'

}

params = {

'query':word,

'ie':'utf-8'

}

souguo_list=requests.get(url=url,headers=headers,params=params).text

print(souguo_list)

with open('./souguo.html','w',encoding='utf-8') as fp:

fp.write(souguo_list)

print('over')

请求载体身份标识的伪装:

User-Agent:请求载体身份标识,通过浏览器发起的请求,请求载体为浏览器,则该请求的User-Agent为浏览器的身份标识,使用爬虫程序发起的请求,则该请求的载体为爬虫程序

反爬机制:某些网站会对访问该网站的请求中的User-Agent来进行捕获和判断,如果该请求的UA为爬虫程序,则拒绝向该请求提供数据

反反爬策略:将爬虫程序的UA伪装成某一款浏览器的身份标识

需求:爬取豆瓣电影分类排行榜https://movie.douban.com/中的电影详情数据

import requests

import urllib.request

if __name__ == "__main__":

#指定ajax-get请求的url(通过抓包进行获取)

url = 'https://movie.douban.com/j/chart/top_list?'

#定制请求头信息,相关的头信息必须封装在字典结构中

headers = {

#定制请求头中的User-Agent参数,当然也可以定制请求头中其他的参数

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36',

}

#定制get请求携带的参数(从抓包工具中获取)

param = {

'type':'5',

'interval_id':'100:90',

'action':'',

'start':'0',

'limit':'20'

}

#发起get请求,获取响应对象

response = requests.get(url=url,headers=headers,params=param)

#获取响应内容:响应内容为json串

print(response.text)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值