Python 爬虫学习02 Urllib库示例学习

在这里插入图片描述

import urllib.request

#1.获取一个get请求
#打开网页,并获取网页数据
response = urllib.request.urlopen('http://www.baidu.com')
#打印出来一个对象地址,这个对象就保存了所有的网页信息
print(response)
#防止有中文出现乱码,使用decode解码
print(response.read().decode('utf-8'))


#2.获取一个post请求,此方法可以在访问网址的时候给它发送一个表单,可以在里面把用户名密码加密
import  urllib.parse #解释器
#创建一个表单 以utf-8的方式进行解释
data = bytes(urllib.parse.urlencode({'hello':'world'}),encoding='utf-8')
response = urllib.request.urlopen('http://httpbin.org/post',data=data)
print(response.read().decode('utf-8'))


#3.超时处理 timeout 在规定时间里网页没有响应则报错
try:
    response = urllib.request.urlopen('http://httpbin.org/get',timeout=0.01)
    print(response.read().decode('utf-8'))
except urllib.error.URLError as e:
    print("time out!")

response = urllib.request.urlopen('http://httpbin.org/get',timeout=111)
print(response.status)

response = urllib.request.urlopen('http://www.baidu.com')
print(response.getheaders())
print(response.getheader('Bdpagetype'))


#4.伪装自己是浏览器不是爬虫
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36'
}
#url = 'http://httpbin.org/post'
data = bytes(urllib.parse.urlencode({'name':'ouou'}),encoding='utf-8')
url = 'http://www.douban.com'
#response = urllib.request.urlopen(url)
#url 封装信息 头部信息 传递方式(一般只用到url 和 headers)
req = urllib.request.Request(url=url,data=data,headers=headers,method='POST')
#下面报错418 意思是你被识别到为爬虫禁止访问
#print(response.get())
response = urllib.request.urlopen(req)
print(response.read().decode('utf-8'))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ou.cs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值