python爬虫urllib库详解

urllib库

模拟浏览器的行为 向指定服务器发送请求 保存返回的数据

urlopen

参数1 url请求的服务器地址

data 默认是None 如果设置了的值 那么请求就变成了post请求

返回值 <http.client.HTTPResponse object at 0x000001DDABEA5CC8>

  • read 方法
  • readline 读取一行
  • readlines 读取多行 (用循环进行遍历)

网站识别出爬虫 需要解决反爬

返回bytes类型数据

  • res.read().decode(‘解码格式’)

parse.urlsplit(),parse.urlparse()

对url进行切片

  • parse.urlsplit(url)
  • parse.urlparse(url)
  • #urlparse比 split 多了 params属性

print(‘scheme:’,res.scheme)

print(‘query:’,res.query)

print(‘pach:’,res.path)

print(‘netloc:’,res.netloc)

反反爬

构建请求对象

携带请求头 user-agent:浏览器的名称

urlretrieve

下载方法

urlretrieve(链接,保存地址)

可爬取图片 和简单网页代码

request.urlcleanup()清除缓存

urlencode

parse_qs函数对url解码

  • parse.parse_qs(url)

浏览器发送请求的时候自动对中文以及特殊字符进行ASCII编码 我们爬虫在发送请求时 直接发送中文 服务器不识别 需要手动编码

可以把字典变成url编码

from urllib import paese

爬取网页简单流程

1.构建头

  • header = {
    “User-Agent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36”
    }

2.构建请求对象

  • 构建请求对象
    request.Request(‘url’,‘header’)

3.发送服务器请求

  • request.urlopen(请求对象)

4.获取源代码 进行解码

  • res.read().decode(‘解码格式’)

其他使用

  • 代码.readline() 读取单行
  • 代码.readlines() 读取多行 返回列表
  • .getcode()
    获取状态码

取消证书验证

ssl._create_default_https_context = ssl._create_unverified_context

XMind - Trial Version

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值