requests模块的基本用法

requests

什么是requests模块

python中封装好的一个基于网络请求的模块

作用

用来模拟浏览器发送请求

环境安装

pip install requests

编码流程

  • 指定 url
  • 发起请求
  • 获取响应数据
  • 持久化存储

爬取搜狗首页的页面源码数据

#爬取搜狗首页的页面源码数据
import requests
#1.指定url
url = 'https://www.sogou.com/'
#2.请求发送get:get返回值是一个响应对象
response = requests.get(url=url)
#3.获取响应数据
page_text = response.text #返回的是字符串形式的响应数据
#4.持久化存储
with open('sogou.html','w',encoding='utf-8') as fp:
    fp.write(page_text)
#实现一个简易的网页采集器
#需要让url携带的参数动态化
url = 'https://www.sogou.com/web'
#实现参数动态化
wd = input('enter a key:')
params = {
    'query':wd
}
#在请求中需要将请求参数对应的字典作用到params这个get方法的参数中
response = requests.get(url=url,params=params)

page_text = response.text
fileName = wd+'.html'
with open(fileName,'w',encoding='utf-8') as fp:
    fp.write(page_text)
  • 上述代码执行后发现:

    • 1.出现了乱码
    • 2.数据量级不对
#解决乱码

url = 'https://www.sogou.com/web'
#实现参数动态化
wd = input('enter a key:')
params = {
    'query':wd
}
#在请求中需要将请求参数对应的字典作用到params这个get方法的参数中
response = requests.get(url=url,params=params)
response.encoding = 'utf-8' #修改响应数据的编码格式
page_text = response.text
fileName = wd+'.html'
with open(fileName,'w',encoding='utf-8') as fp:
    fp.write(page_text)
  • UA检测:门户网站通过检测请求载体的身份标识判定改请求是否为爬虫发起的请求
  • UA伪装:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36
#解决UA检测
url = 'https://www.sogou.com/web'
#实现参数动态化
wd = input('enter a key:')
params = {
    'query':wd
}
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36'
}
#在请求中需要将请求参数对应的字典作用到params这个get方法的参数中
response = requests.get(url=url,params=params,headers=headers)
response.encoding = 'utf-8' #修改响应数据的编码格式
page_text = response.text
fileName = wd+'.html'
with open(fileName,'w',encoding='utf-8') as fp:
    fp.write(page_text)

爬取豆瓣电影中电影的详情数据

url = 'https://movie.douban.com/j/chart/top_list'
start = input('您想从第几部电影开始获取:')
limit = input('您想获取多少电影数据:')
dic = {
    'type': '13',
    'interval_id': '100:90',
    'action': '',
    'start': start,
    'limit': limit,
}
response = requests.get(url=url,params=dic,headers=headers)
page_text = response.json() #json()返回的是序列化好的实例对象
for dic in page_text:
    print(dic['title']+':'+dic['score'])

肯德基餐厅查询

#肯德基餐厅查询http://www.kfc.com.cn/kfccda/storelist/index.aspx
url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword'
for page in range(1,5):
    data = {
        'cname': '',
        'pid': '',
        'keyword': '西安',
        'pageIndex': str(page),
        'pageSize': '10',
    }
    response = requests.post(url=url,headers=headers,data=data)
    print(response.json())

原文地址:https://www.cnblogs.com/5kuishoua666/p/12021656.html

时间: 2024-10-11 21:12:19

requests模块的基本用法的相关文章

requests模块的高级用法

1.代理 代理服务器,可以接受请求然后将其转发 1.匿名度 1. 高匿:不知道你使用了代理,也不知道你的真实ip 2. 匿名: 知道你使用了代理,但是不知道你的真实ip 3. 透明:知道你使用了代理并且知道你的真实ip 2.类型 http https 3.免费代理的网站 - http://www.goubanjia.com/ - 快代理 - 西祠代理 - http://http.zhiliandaili.cn/ 构建代理池: # 构建代理池 import requests from lxml i

Python requests模块学习

import requests 下面就可以使用神奇的requests模块了! 1.向网页发送数据 >>> payload = {'key1': 'value1', 'key2': ['value2', 'value3']} >>> r = requests.get('http://httpbin.org/get', params=payload) >>> print(r.url) http://httpbin.org/get?key1=value1&a

python urllib和requests模块

urllib模块是python自带的,直接调用就好,用法如下: 1 #处理get请求,不传data,则为get请求 2 import urllib 3 from urllib.request import urlopen 4 from urllib.parse import urlencode 5 url='http://127.0.0.1:1990/login' 6 data={"username":"admin","password":123

请求库之requests模块

一 介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:requests库发送请求将网页内容下载下来以后,并不会执行js代码,这需要我们自己分析目标站点然后发起新的request请求 #安装:pip3 install requests #各种请求方式:常用的就是requests.get()和requests.post() >>> import requests >>&

requests模块

一.requests模块介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:requests库发送请求将网页内容下载下来以后,并不会执行js代码,这需要我们自己分析目标站点然后发起新的request请求 #安装:pip3 install requests #各种请求方式:常用的就是requests.get()和requests.post() >>> import requests

python-爬虫之requests模块介绍(登陆github)

介绍 使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) 注意 requests库发送请求将网页内容下载下来以后,并不会执行js代码,这需要我们自己分析目标站点然后发起新的request请求 安装 pip3 install requests GET请求 requests.get(url="", headers={'User-Agent':'', 'Referer':'',}, Cookie={},

requests模块的入门使用

学习目标: 了解 requests模块的介绍 掌握 requests的基本使用 掌握 response常见的属性 掌握 requests.text和content的区别 掌握 解决网页的解码问题 掌握 requests模块发送带headers的请求 掌握 requests模块发送带参数的get请求 1 为什么要重点学习requests模块,而不是urllib requests的底层实现就是urllib requests在python2 和python3中通用,方法完全一样 requests简单易

requests模块之基础语法

基础语法 发送请求 使用 Requests 发送网络请求非常简单. 一开始要导入 Requests 模块:  >>> import requests  然后,尝试获取某个网页.本例子中,我们来获取 Github 的公共时间线:  >>> r = requests.get('https://api.github.com/events')  现在,我们有一个名为 r 的 Response 对象.我们可以从这个对象中获取所有我们想要的信息. Requests 简便的 API

爬虫之requests模块

引入 在学习爬虫之前可以先大致的了解一下HTTP协议~ HTTP协议:https://www.cnblogs.com/peng104/p/9846613.html 爬虫的基本流程 简介 简介:Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库,Requests它会比urllib更加方便,可以节约我们大量的工作.一句话,requests是python实现的最简单易用的HTTP库,建议爬虫使用requests库.默认安装好pyth