鱼C论坛

 找回密码
 立即注册
查看: 2325|回复: 1

[技术交流] 16 Urllib基础

[复制链接]
发表于 2017-6-21 17:42:57 | 显示全部楼层 |阅读模式

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

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

x
16 Urllib基础
一、使用方法
  1. import urllib.request
复制代码
二、urlretrieve()的用法

功能:直接下载网页到本地。
  1. urlretrieve(网址,本地存储路径)
复制代码
  1. import urllib.request
  2. urllib.request.urlretrieve("http://www.baidu.com","f:/1.html")
复制代码
执行之后,可在对应路径看到一个html文件。打开它,发现它正是百度的首页,只不过有些东西下载不下来。

三、urlcleanup()的用法

功能:清除爬虫产生的缓存,提升爬取速度。
  1. import urllib.request
  2. urllib.request.urlretrieve("http://www.baidu.com","f:/1.html")
  3. #清除缓存
  4. urllib.request.urlcleanup()
复制代码

四、info()方法

功能:反映返回数据的简介信息
  1. import urllib.request
  2. data = urllib.request.urlopen("http://www.baidu.com")
  3. #清除缓存
  4. urllib.request.urlcleanup()
  5. print(data.info())
复制代码
结果:
  1. Date: Wed, 21 Jun 2017 09:27:20 GMT
  2. Content-Type: text/html; charset=utf-8
  3. Transfer-Encoding: chunked
  4. Connection: Close
  5. Vary: Accept-Encoding
  6. Set-Cookie: BAIDUID=705C801A9C8DFCE5656223E32639F569:FG=1; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
  7. Set-Cookie: BIDUPSID=705C801A9C8DFCE5656223E32639F569; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
  8. Set-Cookie: PSTM=1498037240; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
  9. Set-Cookie: BDSVRTM=0; path=/
  10. Set-Cookie: BD_HOME=0; path=/
  11. Set-Cookie: H_PS_PSSID=1447_21102_20928; path=/; domain=.baidu.com
  12. P3P: CP=" OTI DSP COR IVA OUR IND COM "
  13. Cache-Control: private
  14. Cxy_all: baidu+5768a336a4da42b88867bc3b97f6c279
  15. Expires: Wed, 21 Jun 2017 09:27:03 GMT
  16. X-Powered-By: HPHP
  17. Server: BWS/1.1
  18. X-UA-Compatible: IE=Edge,chrome=1
  19. BDPAGETYPE: 1
  20. BDQID: 0x96e4306f0001c66c
  21. BDUSERID: 0
复制代码

五、getcode()方法的使用

功能:输出访问网页的状态码。200是正常状态码。常见状态码:
  • 200 OK
  • 301 Moved Permanently
  • 302 Found
  • 304 Not Modified
  • 307 Temporary Redirect
  • 400 Bad Request
  • 401 Unauthorized
  • 403 Forbidden
  • 404 Not Found
  • 410 Gone
  • 500 Internal Server Error
  • 501 Not Implemented

  1. import urllib.request
  2. data = urllib.request.urlopen("http://www.baidu.com")
  3. #清除缓存
  4. urllib.request.urlcleanup()
  5. print(data.getcode())
复制代码
结果:
  1. 200
复制代码

六、geturl()方法的使用

功能:获取当前爬取页面的URL。
  1. import urllib.request
  2. data = urllib.request.urlopen("http://www.baidu.com")
  3. #清除缓存
  4. urllib.request.urlcleanup()
  5. print(data.getcode())
  6. print(data.geturl())
复制代码
结果:
  1. 200
  2. http://www.baidu.com
复制代码




评分

参与人数 1鱼币 +5 收起 理由
小甲鱼 + 5 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

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

使用道具 举报

发表于 2018-1-18 01:18:06 | 显示全部楼层
支持
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-18 14:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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