python爬虫学习笔记.urllib的使用

这里写目录标题

一,urllib四大模块
1,request:基本的HTTP请求模块,可以用来模拟发送请求。
2,error:异常处理模块。
3,parse:工具模块,提供URL处理方法。
4,robotparse:识别网站的robot.txt文件,判断该网站是否可以爬。

二,发送请求
Ⅰ:urlopen的使用

  1. 作用
    抓取网页源代码。
  2. 使用方法
import urllib.request

response = urllib.request.urlopen('https://www.baidu.com/')

print(response.read().decode('utf-8'))

程序将输出百度首页的源代码。

  1. 返回
    返回一个HTTPResponse类型的对象。

  2. 方法和属性
    该类型包含的方法:
    read():用于输出源代码
    getheader(name):输出特定响应的头信息
    getheaders():输出全部相应的头信息

    该类型包含的属性:
    status:可得到返回结果的状态码

  3. decode和encode:

      decode                 encode
str ---------> str(Unicode) ---------> str
//unicode 为一种编码格式

6,参数
data:
用于模拟表单提交,以POST方式传输数据。

timeout:
设置超时时间,单位为秒。
如果超过设定的时间,将抛出异常。

Ⅱ:Request的使用
urlopen无法构建一个完整的请求,借助Request能使请求更完整。

1,构造

class urllib.request.Request(url,data=None,headers={
   },origin_req_host=None,unverifiable=False,method=None)

2,参数解析
url:
用于请求URL,必传参数。
data:
headers:
是一个字典,请求头。可以在构造请求时直接对headers赋值,也可用add_headers()方法来添加。
常常通过修改User-Agent来伪装浏览器。
origin_req_host:
unverifiable:
method:
字符串,用来指示请求的方法,如GET、POST和PUT。

3,实例

import urllib.request

header = {
   'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
                       'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36'}
request = urllib.request.Request('https://www.baidu.com/',headers=header,method='GET')
response = urllib.request.urlopen(request)
print(response.read().decode('utf-8'))

Ⅲ:Handler
处理器,可用于处理登陆验证,Cookies,代理设置等。

1,Handler类
BaseHandler:是其他Handler的父类。

HTTPDefaultErrorHandler:
HTTPRedirectHandler:
HTTPCookieProcessor:用于处理Cookies。
ProxyHa

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值