wcq15759797758 发表于 2021-6-23 17:20:23

爬虫urllib模块

一. urllib的使用
import urllib.request    # 导入request子模块
url = 'https://www.cnblogs.com/'
response = urllib.request.urlopen(url=url)# 发送网络请求
print('响应状态码为:',response.status)
print('响应头所有信息为:',response.getheaders())
print('响应头指定信息为:',response.getheader('Accept-Ranges'))
# 读取HTML代码并进行utf-8解码
print('博客园代码如下:\n',response.read().decode('utf-8'))

二. urllib的使用发送POST请求并带UA浏览器

import urllib.request# 导入urllib.request模块
import urllib.parse    # 导入urllib.parse模块
url = 'https://www.httpbin.org/post'# 请求地址
# 定义请求头信息
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36'}
# 将表单数据转换为bytes类型,并设置编码方式为utf-8
data = bytes(urllib.parse.urlencode({'hello':'python'}),encoding='utf-8')
# 创建Request对象
r = urllib.request.Request(url=url,data=data,headers=headers,method='POST')
response = urllib.request.urlopen(r)# 发送网络请求
print(response.read().decode('utf-8'))# 读取HTML代码并进行utf-8解码

三. urllib的异常处理
import urllib.request# 导入urllib.request模块
import urllib.error# 导入urllib.error模块
import socket# 导入socket模块
url = 'https://www.python.org/'# 请求地址
try:
    # 发送网络请求,设置超时时间为0.1秒
    response = urllib.request.urlopen(url=url, timeout=0.1)
    print(response.read().decode('utf-8'))# 读取HTML代码并进行utf-8解码
except urllib.error.URLError as error:# 处理异常
    if isinstance(error.reason, socket.timeout):# 判断异常是否为超时异常
      print('当前任务已超时,即将执行下一任务!')

四. urllib的url拼接
import urllib.parse    #导入urllib.parse模块
base_url = 'https://docs.python.org'   # 定义基础链接
# 第二参数不完整时
print(urllib.parse.urljoin(base_url,'3/library/urllib.parse.html'))
# 第二参数完成时,直接返回第二参数的链接
print(urllib.parse.urljoin(base_url,'https://docs.python.org/3/library/urllib.parse.html#url-parsing'))

可能补充的不够完整 谅解 谢谢


wcq15759797758 发表于 2021-6-23 17:21:08

过两天介绍requests模块

xiaosi4081 发表于 2021-6-23 17:31:43

wcq15759797758 发表于 2021-6-23 17:21
过两天介绍requests模块

建议开个淘帖来放关于爬虫的文章{:10_256:}

wcq15759797758 发表于 2021-6-23 17:33:26

xiaosi4081 发表于 2021-6-23 17:31
建议开个淘帖来放关于爬虫的文章

好的谢谢!

hornwong 发表于 2021-6-23 19:50:26

感谢分享!

wcq15759797758 发表于 2021-6-23 20:48:00

hornwong 发表于 2021-6-23 19:50
感谢分享!

不客气 加油

龙舞九天 发表于 2021-6-24 05:50:35

{:5_95:}

975050208@qq.co 发表于 2021-6-24 08:52:11

坐下学习

ridiculum 发表于 2021-6-24 09:25:29

学习一个

懒狗李 发表于 2021-6-24 10:36:12

{:10_256:}

瓦塔西 发表于 2021-6-24 12:13:11

{:5_109:}

19924269098 发表于 2021-6-24 13:07:57

{:10_254:}

少侠学编程 发表于 2021-6-24 15:20:06

来学习学习!

超级玛尼哄 发表于 2021-6-27 00:02:59

{:10_279:}
页: [1]
查看完整版本: 爬虫urllib模块