zoukankan      html  css  js  c++  java
  • 爬虫学习

    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)
    
    
  • 相关阅读:
    在家赚钱,威客网站的使用方法
    帅哥编年史
    有些话不吐不快,事情不是这样做滴
    面向对象与形而上学
    Asp.net Mvc问题索引
    Asp.net Mvc视频教程 页面传值基础(get/post/UpdateModel)
    Asp.net Mvc 入门视频教程(试水)
    Linq to Entities in Ado.net EF的事务
    Json.net/Newtonsoft 3.0 新特性JObject/Linq to Json
    Entity SQL Language六 数字函数、时间函数及其它
  • 原文地址:https://www.cnblogs.com/nori/p/11830955.html
Copyright © 2011-2022 走看看