0
点赞
收藏
分享

微信扫一扫

爬虫笔记-get请求两种方法

扒皮狼 2022-02-06 阅读 114
day02-get请求的两种方法

1、get请求quote方法

# quote方法的作用:能够将一个词变成对应的unicode编码

import urllib.request
# 需求: 获取https://www.baidu.com/s?wd=周杰伦的网页源码

url = 'https://www.baidu.com/s?wd='

# 请求对象的定制为了解决反爬的第一种手段

headers = {
    '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'
}

# 将周杰伦变成unicode编码的格式
# 需要依赖于urllib.parse
name = urllib.parse.quote("周杰伦")

# 拼接url
url = url + name
# 请求对象的定制
request = urllib.request.Request(url=url,headers=headers)

# 模拟浏览器向服务器发送请求
response = urllib.request.urlopen(request)

# 获取响应的内容
content = response.read().decode("utf8")

# 打印数据
print(content)


2、get请求urlencode方法
import urllib.request
#
# urlencode应用场景:多个参数的时候

# https://www.baidu.com/s?ie=UTF-8&wd=%E5%91%A8%E6%9D%B0%E4%BC%A6&sex=%E7%94%B7

# data = {
#     "wd": "周杰伦",
#     "sex": "男",
#     "location": "中国-台湾"
# }

# a = urllib.parse.urlencode(data)
# print(a)

#获取此网页的网页源码 https://www.baidu.com/s?ie=UTF-8&wd=%E5%91%A8%E6%9D%B0%E4%BC%A6&sex=%E7%94%B7&location=%E4%B8%AD%E5%9B%BD%E5%8F%B0%E6%B9%BE%E7%9C%81

data = {
    "wd": "周杰伦",
    "sex": "男",
    "location": "中国-台湾"
}

newData = urllib.parse.urlencode(data)

baseUrl = 'https://www.baidu.com/s?wd='

url = baseUrl + newData

headers = {
    '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'
}

# 请求对象的定制
request = urllib.request.Request(url=url,headers=headers)

# 模拟浏览器向服务器发送请求
response = urllib.request.urlopen(request)

# 获取网页源码的数据
content = response.read().decode("utf8")

print(content)
举报

相关推荐

0 条评论