zoukankan      html  css  js  c++  java
  • MOOC《Python网络爬虫与信息提取》学习过程笔记【requests库】第一周1-3

    一得到百度网页的html源代码:

    >>> import requests
    >>> r=requests.get("http://www.baidu.com")
    >>> r.status_code #查看状态码,为200表示访问成功,其他表示访问失败
    200
    >>> r.encoding='utf-8' #更改编码为utf-8编码
    >>> r.text  #打印网页内容
    
    >>> r.headers
    

      

    二requests库的主要方法:
    requests.request()   构造一个请求,支撑以下各方法的基础方法

    requests.get()   获取HTML网页的主要方法,对应于HTTP的GET

    requests.head()  获取HTML网页头信息的方法,对应于HTTP的HEAD

    requests.post()  向HTML网页提交POST请求的方法,对应于HTTP的POST

    requests.put()  向HTML想也提交PUT请求的方法,对应于HTTP的PUT

    requests.patch()  向HTML网页提交局部修改请求,对应于HTTP的PATCH

    requests.delete()  向HTML页面提交删除请求,对应于HTTP的DELETE

    1requests.get()

    r=requests.get(“网页地址”)  #get("网页地址")构造一个向服务器请求资源的Request对象

    #r是一个包含服务器资源的Response对象

    三Response对象的常用属性(这里是r):

    r.status_code    HTTP请求返回的状态,200表示链接成功,404表示失败...只要不是200都是失败的

    r.text     HTTP响应内容的字符串形式,即url内容的页面内容

    r.encoding   从HTTP header中猜测的响应内容编码方式

    r.apparent_encoding   从内容中分析出的响应内容编码方式(备选编码方式)

    r.content HTTP响应内容的二进制形式

    >>> import requests
    >>> r=requests.get("http://www.baidu.com")
    >>> r.status_code
    200
    >>> r.text
    #乱码
    >>> r.encoding  #从html代码的header查找charste关键字得到的编码方式,如果不存在charset则认为编码为ISO-8859-1
    'ISO-8859-1'
    >>> r.apparent_encoding  #分析后得到的网页的正确编码方式
    'utf-8'
    >>> r.encoding='utf-8'
    >>> r.text   #打印出了我们想要的格式
    

    四爬取网页的通用代码框架

    1.什么是爬取网页的通用代码框架?

    就是一组代码,可以准确可靠的爬去网页

    Requests库的异常:

    r.raise_for_status()  如果不是200,产生异常requests.HTTPError

    >>> import requests   
    >>> def getHTMLText(url):
    	try:
    		r=requests.get(url,timeout=30)
    		r.raise_for_status() #如果状态不是200,引发HTTPError异常
    		r.encoding=r.apparent_encoding
    		return r.text
    	except:
    		return "产生异常"
    
    >>> if __name__=="__main__":
    	url="http://www.baidu.com"
    	print(getHTMLText(url))
    

    红色部分就是爬去网页的通用代码框架

      

  • 相关阅读:
    站立会议(2)
    站立会议(1)
    学习进度条
    四则运算2
    学习进度条
    IDEA用maven创建springMVC项目和配置
    Itellij Idea全局搜索
    Spring各个jar包作用
    IDEA一定要改的八条配置
    Nio使用Selector客户端与服务器的通信
  • 原文地址:https://www.cnblogs.com/iamjuruo/p/7470700.html
Copyright © 2011-2022 走看看