zoukankan      html  css  js  c++  java
  • Python爬虫:HTTP协议、Requests库(爬虫学习第一天)

    HTTP协议:

    HTTP(Hypertext Transfer Protocol):即超文本传输协议。URL是通过HTTP协议存取资源的Internet路径,一个URL对应一个数据资源。

    HTTP协议对资源的操作:

    Requests库提供了HTTP所有的基本请求方式。官方介绍:http://www.python-requests.org/en/master

    Requests库的6个主要方法:

    Requests库的异常:

    Requests库的两个重要对象:Request(请求)、Response(相应)。Request对象支持多种请求方法;Response对象包含服务器返回的所有信息,也包含请求的Request信息。

    Response对象的属性:

    其中,r.encoding指:如果header中不存在charset,则认为编码为ISO‐8859‐1。

    r.raise_for_status()可以直接知道r.status_code是否等于200。

    HTTP协议与Requests库对比:

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

    1 try:
    2     r = requests.get(url,timeout = 30)
    3     r.raise_for_status()
    4     # 如果状态不是200,引发HTTPError异常
    5     r.encoding = r.apparent_encoding
    6     return r.text
    7 except:
    8     return '产生异常'

    例如,获取PMCAFF首页的信息:

     1 import requests
     2 
     3 def getHtmlText(url):
     4     try:
     5         r = requests.get(url,timeout = 30)
     6         r.raise_for_status()
     7         r.encoding = r.apparent_encoding
     8         return r.text
     9     except:
    10         return '产生异常'
    11 
    12 if __name__ == '__main__':
    13     url = 'https://www.pmcaff.com/'
    14     print(getHtmlText(url))

    爬取网页的通用代码框架:操作环境:win,Python 3.6

    参考资料:中国大学MOOC课程《Python网络爬虫与信息提取》

  • 相关阅读:
    浏览器内核
    link和@import的区别
    跨域iframe如何通信
    数组、对象基本操作
    浏览器兼容性问题
    微信H5开发
    前端面试整理
    js多维数组转一维数组
    js实现继承
    javascript函数闭包(closure)
  • 原文地址:https://www.cnblogs.com/ltn26/p/10981294.html
Copyright © 2011-2022 走看看