爬虫基础框架 之urllib(一) --- urllib基础

2019-05-04 09:41:54来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Mac本爬虫

  • 首先需导入一个模块
1 import ssl
2 ssl._create_default_https_context = ssl._create_unverified_context 

urllib导入配置

urllib 是python提供的一个用于发起和处理http请求和响应的框架。后期的一些框架,比如: requests、 scrapy等都是基于它

  • 从urllib中导入请求模块 
1 from urllib import request
  • 编写 url  
1 url = "http://www.baidu.com/"

urllib基本方法

1. urlopen( ) 方法

用于打开一个远程的url连接,并且向这个连接发出请求,获取响应结果。返回的结果是一个http响应对象,这个响应对象中记录了本次http访问的响应头和响应体

  • 获取响应
1 response = request.urlopen(url=url)
2 print(response)
3 结果 :<http.client.HTTPResponse object at 0x10be801d0>
  • 获取打印响应头
1 print(response.headers)
  • 获取打印响应
1 print(response.url)        #打印url 
2 print(response.status)     #打印状态码
  • 读取响应体
1 res = response.read()       # 读取的是二进制  
2 print(res)                  # 读取到的响应体是一个二进制字符串  
3 print(res.decode("utf-8"))  # 对响应体进行解码 
  • 读取一行
1 res = response.readline()      # 读取一行 
2 res1 = response.readline()     # 读取下一行  
3 res2 = response.readlines()    # 读取多行。得到一个列表 每个元素是一行  
4 print(res)                     # 打印

2. urlretrieve(url =”xxx“, filename = ”xxx“) 方法

打开url这个连接 并且发起请求,获得响应并把响应结果保存到filename中

  • 获取 保存到文件中
1 res3 = request.urlretrieve(url=url,filename="./baidu.html") 
2 print(res3)     # 获取url 保存到baidu.html中 并打印

3. urlencode( ) 方法

对url进行编码,因为urllib这个框架中的url中不能出现汉字,只能出现ascii码字符

  • 导入parse框架,是urllib中处理url的工具
1 from urllib import parse
  • 0.设置url
1 url = "https://www.baidu.com/s?"
  • 1.把参数写成字典的形式
1 dic= {"ie":"utf-8","wd":"奔驰"}
  • 2.用parse的urlencode方法编码
1 parames = parse.urlencode(dic)
  • 3.将编码以后的参数拼接到url中
1 url += parames
2 request.urlopen(url=url)

 


原文链接:https://www.cnblogs.com/TMMM/p/10799318.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:20190503-相同的树

下一篇:pandas文本处理