zoukankan      html  css  js  c++  java
  • 【Python】网络爬虫

    前言:

    mooc上嵩天老师提供了容易上手的网络爬虫视频教程。

    笔记内容:

      requests库    #requests官网详细的介绍

         time库

         BeautifulSoup库

    扩展阅读:关于反爬虫,看这一篇就够了

        

    1、requests库方法 

    网络资源就像是一个黑盒,通过其接口(url),可以获取网络资源(jpg,txt,gif,flash等)

    requests库有一套完整的方法:

    其中requests.requset()是基础的方法,可以用此方法构造替代下面的get等具体的方法。但推荐使用get,head等单独的方法。

    requests.request() #构造一个请求,支撑以下各种方法的使用
    requests.get() #获取html网页
    requests.head()#获取html网页头信息
    requests.post()#向html网页提交post请求
    requests.put()#向html网页提交put请求
    requests.patch()#向html网页提交局部修改请求
    requests.delete()#向html网页提交删除请求
    requests.options()

    例子:

    import requests   #导入requests库
    url=http://www.baidu.com 
    r=requests.get(url)  #获取url的对象
    print(r.status_code) #状态位200时,表示get成功,404或者其他表示失败
    print(r.encoding)  #-->'ISO-8859-1'根据header猜测响应内容的编码方式
    print(r.apparent_encoding) #-->'utf-8'从内容中分析出的响应内容编码方式
    r.encoding='utf-8' #重新定义其编码格式为utf-8
    print(r.text)#打印url链接的内容

    其中的,推荐使用apparent_encoding,更准确。

    2.requests.get()

    在get一个url时,可能会出现错误,例如网络连接失败,http异常等。

    requests.ConnectionError #网络连接错误异常,如DNS查询失败、拒绝连接等
    requests.HTTPError #HTTP错误异常
    requests.URLRequried #url缺失异常
    requests.TooManyRedirects #超过最大重定向次数,产生重定向异常
    requests.ConnectTimeout #连接远程服务器超时异常
    requests.Timeout #请求url超时,产生超时异常
    /*生命如此美好。认真工作之余,不要忘了认真对待生活,认真对待身边人!*/
  • 相关阅读:
    【转】Android之四大组件、六大布局、五大存储
    Android O 8.0 奥利奥
    安卓7.1新特性
    那些年我们踩过的坑,SQL 中的空值陷阱!
    8年经验面试官详解 Java 面试秘诀
    Github 第三方授权登录教程
    40个超有趣的Linux命令行彩蛋和游戏
    Synchronized锁在Spring事务管理下,为啥还线程不安全?
    Windows Server 2008 R2文件服务器升级到Windows Server 2016
    牛客练习赛61
  • 原文地址:https://www.cnblogs.com/isha2088/p/6649300.html
Copyright © 2011-2022 走看看