逆向爬虫01 requests模块

python requests模块

requests是一个python模拟浏览器发送http请求的模块

1. 使用requests模块发送get请求,获取网页源代码

import requests

url = "http://www.baidu.com"
resp = requests.get(url)
resp.encoding = "utf-8"			# 如果resp.text是乱码则需要指定编码格式,一般不是utf-8就是gbk
print(resp.text)

2. get请求可以携带参数,get请求的参数写在url的域名后面

import requests

kw = input("请输入要检索的关键字: ")
url = f"https://www.sogou.com/web?query={kw}"
headers = {
    # 添加一个请求头信息UA,如果没有请求头,目标服务器会拒绝我们访问,这是一个最简单的反爬手段,只需要在http请求头中添加浏览器信息,就可以骗过目标服务器。
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.57"
}
resp = requests.get(url, headers=headers)
print(resp.text)

3. 使用requests模块发送post请求

import requests

url = "https://fanyi.baidu.com/sug"
data = {
    "kw": input("请输入一个单词")
}
resp = requests.post(url, data=data)
print(resp.text)	# 拿到json字符串
print(resp.json)	# 拿到json字典

4. 当get请求参数太多时怎么处理

import requests

url = "https://movie.douban.com/j/chart/top_list"
headers = {
    # 添加一个请求头信息UA,如果没有请求头,目标服务器会拒绝我们访问,这是一个最简单的反爬手段,只需要在http请求头中添加浏览器信息,就可以骗过目标服务器。
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.57"
}
data = {
    "type": "13",
    "interval_id": "100:90",
    "action": "",
    "start": "0",
    "limit": 20
}
resp = requests.get(url, params=data, headers=headers)	# get请求会默认把params参数拼到url后面
print(resp.text)		# 拿到json字符串
print(resp.json())		# 拿到json字典
print(resp.request.url)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值