Python爬虫 Day14 网络请求(一)

本文介绍了Python标准库urllib在网络请求中的应用,包括urllib的四大模块,如何发送GET和POST请求,如何处理IP代理以避免访问限制,以及如何使用Cookie来管理会话状态。通过示例展示了如何添加headers、使用代理IP以及保存和使用Cookie。
摘要由CSDN通过智能技术生成

网络请求

(一)urllib简介

  • urllib是Python自带的标准库中用于网络请求的库,无需安装,直接引用即可
  • 通常用于爬虫开发、API(应用程序编程接口)数据获取和测试
  • urllib库的四大模块:
  • (1)urllib.request:用于打开和读取URL
  • (2)urllib.error:包含提出的例外(异常)urllib.request
  • (3)urllib.parse:用于解析URL
  • (4)urllib.robotparser:用于解析robots.txt文件

编码

import urllib.parse
kw={
   'wd':'网易新闻'}
#编写
result=urllib.parse.urlencode(kw)
print(result)
wd=%E7%BD%91%E6%98%93%E6%96%B0%E9%97%BB

Process finished with exit code 0

网易新闻URL
解码

#解码
res=urllib.parse.unquote(result)
print(res)
wd=%E7%BD%91%E6%98%93%E6%96%B0%E9%97%BB
wd=网易新闻

Process finished with exit code 0

(二)发送请求

  • urllib.request库:模拟浏览器发起一个HTTP请求,并获取请求响应结果
  • urllib.request.urlopen的语法格式
  • urlopen(url,data=None,[timeout,]*,cafile=None,capath=None,cadafault=False,context=None)
  • 参数说明
  • url:url参数是str类型的地址,也就是要访问的URL
  • data:默认值为None,urllib判断参数data是否为None从而区分请求方式。若data=None,请求方式为Get,反之则为Post。参数data以字典形式存储数据,并将参数data由字典类型转换成字节类型才能完成Post请求
  • urlopen函数返回的结果是一个http.client.HTTPResponse

发送Get请求

import urllib.request
url='https://www.lingdianshuwu.com/'

#发送请求
resp=urllib.request.urlopen(url)
html=resp.read()
print(html)

在这里插入图片描述
decode()方法将bytes类型转换为str类型

import urllib.request
url='https://www.lingdianshuwu.com/'

#发送请求
resp=urllib.request.urlopen(url)
html=resp.read().decode('gbk')
print(html)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值