鱼C论坛

 找回密码
 立即注册
查看: 2486|回复: 13

[技术交流] 爬虫urllib模块

[复制链接]
发表于 2021-6-23 17:20:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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


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

  1. import urllib.request  # 导入urllib.request模块
  2. import urllib.parse    # 导入urllib.parse模块
  3. url = 'https://www.httpbin.org/post'  # 请求地址
  4. # 定义请求头信息
  5. 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'}
  6. # 将表单数据转换为bytes类型,并设置编码方式为utf-8
  7. data = bytes(urllib.parse.urlencode({'hello':'python'}),encoding='utf-8')
  8. # 创建Request对象
  9. r = urllib.request.Request(url=url,data=data,headers=headers,method='POST')
  10. response = urllib.request.urlopen(r)  # 发送网络请求
  11. print(response.read().decode('utf-8'))  # 读取HTML代码并进行utf-8解码
复制代码


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


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


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


本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-6-23 17:21:08 | 显示全部楼层
过两天介绍requests模块
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-23 17:31:43 | 显示全部楼层

回帖奖励 +1 鱼币

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

建议开个淘帖来放关于爬虫的文章
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-23 17:33:26 | 显示全部楼层
xiaosi4081 发表于 2021-6-23 17:31
建议开个淘帖来放关于爬虫的文章

好的谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-6-23 19:50:26 | 显示全部楼层

回帖奖励 +1 鱼币

感谢分享!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-23 20:48:00 | 显示全部楼层

不客气 加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-24 05:50:35 | 显示全部楼层

回帖奖励 +1 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-24 08:52:11 | 显示全部楼层

回帖奖励 +1 鱼币

坐下学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-24 09:25:29 | 显示全部楼层

回帖奖励 +1 鱼币

学习一个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-24 10:36:12 | 显示全部楼层

回帖奖励 +1 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-24 12:13:11 | 显示全部楼层

回帖奖励 +1 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-24 13:07:57 | 显示全部楼层

回帖奖励 +1 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-24 15:20:06 | 显示全部楼层

回帖奖励 +1 鱼币

来学习学习!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-27 00:02:59 | 显示全部楼层

回帖奖励 +1 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-18 16:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表