爬虫快速入门——Get请求的使用
程序员文章站
2022-06-22 09:36:00
直接上代码,解释在注释,不论评论留言,必回# 项目名称:# 项目简介:# 作 者:key# 开发时间:2020/10/25 8:54from urllib.request import urlopen, Request # 打开url,和封装请问from fake_useragent import UserAgent # 获取headersfrom urllib.parse import quote # 转为为url使用的Unicode编码from urllib.parse im...
直接上代码,解释在注释,不懂评论留言,必回
# 项目名称:
# 项目简介:
# 作 者:key
# 开发时间:2020/10/25 8:54
from urllib.request import urlopen, Request # 打开url,和封装请问
from fake_useragent import UserAgent # 获取headers
from urllib.parse import quote # 转为为url使用的Unicode编码
from urllib.parse import urlencode # 和quote功能相同,但是传入字典,可以一次转化多个参数,并完成拼接
import random
# 这是我们直接在百度上搜索武汉学院,得到的url
# url ='https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=baidu&wd=%E6%AD%A6%E6%B1%89%E5%AD%A6%E9%99%A2&oq=%25E6%25AD' \
# '%25A6%25E6%25B1%2589%25E5%25AD%25A6%25E9%2599%25A2&rsv_pq=ad90e4730010b099&rsv_t=cbd2ILLVJvfZhsQ2Z' \
# '%2BtWYSyWCVqrPyPGSDeK4L2E%2FXMbeuI2lbvliJVzzxs&rqlang=cn&rsv_enter=0&rsv_dl=tb&rsv_btype=t '
# 但实际的呢?我们发出请求响应测试,只需要https://www.baidu.com/s?wd='武汉学院'就行了
# url ="https://www.baidu.com/s?wd='武汉学院'"
# 但是呢,中文的武汉学院,url并不能识别
# 所以,我们要用url.parse里面的quote对象,转化为url可以识别的unicode编码
# print(quote('武汉学院')) # 输出信息: %E6%AD%A6%E6%B1%89%E5%AD%A6%E9%99%A2
# url = "https://www.baidu.com/s?wd='%E6%AD%A6%E6%B1%89%E5%AD%A6%E9%99%A2'" # 如果在浏览器访问 wd之后就不需要加字符串
# 一般使用{}.format(quote("输入信息"))去替换
url = 'https://www.baidu.com/s?wd={}'.format(quote('武汉学院'))
# 使用urlencode进行转化
# args = {
# 'wd': "武汉学院",
# "ie": 'utf-8'
# }
# url = str("https://www.baidu.com/s?{}".format(urlencode(args)))
# print('https://www.baidu.com/s?{}'.format(urlencode(args)))
# 打印的信息:https://www.baidu.com/s?wd=%E6%AD%A6%E6%B1%89%E5%AD%A6%E9%99%A2&ie=utf-8
# 开发者工具获取headers
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
"Chrome/84.0.4147.89 Safari/537.36 "
}
# 创建对象获取headers
# headers = {
# "User-Agent": UserAgent().random
# }
# 封装
request = Request(url, headers=headers)
# 访问
response = urlopen(request)
# 打印返回信息,一定要用decode()转化,才是可读数据
print(response.read().decode())
本文地址:https://blog.csdn.net/weixin_43402353/article/details/109270347
推荐阅读
-
页面get请求 中文参数方法乱码问题的快速解决方法
-
postman的安装与使用方法(模拟Get和Post请求)
-
使用$.get()根据选项的不同从数据库异步请求数据
-
微信小程序授权 获取用户的openid和session_key【后端使用java语言编写】,我写的是get方式,目的是测试能否获取到微信服务器中的数据,后期我会写上post请求方式。
-
从入门到放弃:python爬虫系列-xpath解析库的使用
-
nodejs 使用http进行post或get请求的实例(携带cookie)
-
nodejs使用http模块发送get与post请求的方法示例
-
Python3爬虫(四)请求库的使用requests
-
post 相比get 有很多优点,为什么现在的HTTP通信中大多数请求还是使用get
-
原生Ajax的使用(创建XMLHttpRequest对象、发送请求、GET 还是 POST、异步还是同步、处理后台返回的数据)