• 爬虫第一节基础理解



    ­
    '''
    爬虫的使用
    第一点:就是Urlib库 常用的是 urlib.request,urlib.err,urlib.parse
    这里用python3常用
    urlopen
    urlencode
    quote
    Request

    file.read()/file.readlines()读取全部内容 内容赋值为字符串
    file.readline()读取一行内容 内容赋值为列表变量
    '''
    # 使用urllib.request导入模块
    import urllib.request
    # (2)使用urlib.request.urlopen打开并爬取一个网页,
    file = urllib.request.urlopen("https://www.baidu.com")

    # (3)read用于全部内容 readline用于一行内容
    data = file.read()
    dataline = file.readline()
    # (4)
    print(dataline)
    # (5)
    print(data)
    # open()函数打开文件。 并用wb即二进制写入的方式打开,打开后将句柄赋给handle
    # 用write写入对应数据data
    fhandle = open("G:/百度网盘/精通Python网络爬虫源码/书中源码/1.html", "wb")
    fhandle.write(data)
    fhandle.close()
    # 主要的目的就是存储爬取文件而又简单的方法在urlib.request里面的urlretrieve()
    # 其中格式是urllib.request.urlretrieve(url(网址),filename=“本地文件地址”)
    import urllib.request

    urllib.request.urlretrieve("https://www.baidu.com",
    filename=r"G:/百度网盘/精通Python网络爬虫源码/书中源码/1.html")
    # 其中缺点是产生一些环境 如果想清除这些缓存信息可以用urlcleanup()进行清除
    # urllib.request.urlcleanup()


    # 返回与当前所爬取的环境相关信息,我们可以使用info()返回
    file = urllib.request.urlopen("https://www.baidu.com")
    file.info()
    # 如果想爬取当前的状态码就可以用getcode()
    file = urllib.request.urlopen("https://www.baidu.com")
    file.getcode()
    # 获取当前所爬取得url地址 ,我们可以使用geturl()来实现
    file = urllib.request.urlopen("https://www.baidu.com")
    file.geturl()

    # 网址的url标准中只允许一部分ASCLL字符比如数字,字母,部分符号等比如汉字不符合URL标准
    # 所以我们在URL中使用一些其中不符合标准的字符就会出现问题,所以需要进行编码解决。
    # urllib.request.quote(url)进行编码
    file_2=urllib.request.quote("hhtp://www.baidu.com.cn")
    print(file_2)
    # 结果:hhtp%3A//www.baidu.com.cn

    # 对应的就是解码 urllib.request.unquote(url)进行解码
    file_3=urllib.request.unquote("hhtp%3A//www.baidu.com.cn")
    print(file_3)
    # 实例如下:
    import urllib.request
    file = urllib.request.urlopen("https://www.baidu.com")
    a_info=file.info()
    b_getcode=file.getcode()
    c_geturl=file.geturl()
    print(a_info)
    print(b_getcode)
    print(c_geturl)

    file_2=urllib.request.quote("http://www.baidu.com.cn")
    print(file_2)

    file_3=urllib.request.unquote("http%3A//www.baidu.com.cn")
    print(file_3)


  • 相关阅读:
    已混淆和未混淆对Apk反编译后的影响
    Android WebView内有https图片链接显示失败解决方法
    微信小程序列表item绑定监听方法
    Mysql 解决1251 client does not support ...问题
    使用Python转换PDF,Word/Excel/PPT/md/HTML都能转!
    Django annotate 时 group by 有额外的字段
    odoo12 通过route返回一个自定义的html界面
    Django 运行odoo环境所生成数据库(Django运行ODOO环境)完美运行
    Flask 下载时数据流的返回
    Python
  • 原文地址:https://www.cnblogs.com/kwkk978113/p/12870832.html
Copyright © 2020-2023  润新知