首页 > 其他 > 详细

爬虫学习

时间:2019-11-10 18:12:36      阅读:70      评论:0      收藏:0      [点我收藏+]

urllib 库

urllib 库是python中一个基本的请求, 可以模拟浏览器的行为,向指定的服务器发送一个请求,并可以保存服务器返回的数据

urlopen函数:

在使用python3的urllib库中,所有和网络请求相关的方法,都被集到urllib.request模块下面了, 先来看一下urlopen函数的基本使用:

 

1 from urllib import request
2 resp = request.urlopen("http://baidu.com")
3 print(resp.read())

 

urlretrieve函数:

这个函数 可以很方便的将网页上的一个文件保存到本地,代码如下:

1 from urllib import request 
2 request.urlreyrieve("http://www.baidu,com", "baidu.html")

urlencode函数:

用浏览器发送请求的时候,如果url中包含了中文,或者特殊的字符串,那么浏览器会自动给我们进行编码,而如果使用代码发送请求,那么就必须手动进行编码,这时候就应该使用urlencode函数来实现,urlencode可以把字典数据转换为url编码的数据。示例代码如下: 

from  urllib import parse

params = {‘name‘: "张三", "age":18, "greed":"hello world"} result = parse.urlencode(params) print(result)

 

 

 parse_qs函数的用法:

from  urllib import parse



params = {name: "张三", "age":18, "greed":"hello world"}
result = parse.urlencode(params)
#parse_qs 函数的用法:
cc = parse.parse_qs(result)
print(cc)

urlparse和urlsplit:

有时候拿到一个url,, 想要对这个url 中的各个组成部分进行分割,那么这时候就可以使用urlparse 或者是urlsplit来进行分割, 示例代码如下:

from urllib import parse
url = "http://www.baidu.com/s?wd=python&username-abc#1"
result = parse.urlparse(url)
result = parse.urlparse(url)
print("scheme:", result.scheme)
print("netloc:", result.netloc)
print("path:", result.path)
print("params:", result.params)
print("query:", result.query)
print("fragment:", result.fragment)

#urlsplit的用法
url = "http://www.baidu.com/s?wd=python&username-abc#1"
result = parse.urlsplit(url)
print("scheme:", result.scheme)
print("netloc:", result.netloc)
print("path:", result.path)
#print("params:", result.params) 没有这个parsms
print("query:", result.query)
print("fragment:", result.fragment)

 

 

 

 

 

爬虫学习

原文:https://www.cnblogs.com/nori/p/11830955.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!