zoukankan      html  css  js  c++  java
  • python里更推荐使用的requests库

    标准库urllib缺少了一些关键的功能,非标准库的第三方库urllib3提供了,比如说连接池管理。

    import urllib3
    
    url = 'https://movie.douban.com'
    ua = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'
    
    # 连接池管理器
    with urllib3.PoolManager() as http:
        response = http.request('GET', url, headers={'User-Agent': ua})  # 在这里可以声明GET方法
    
        print(type(response))  # <class 'urllib3.response.HTTPResponse'>
        print(response.status, response.reason)  # 200 OK
        print(response.headers)  # 响应头信息
        print(response.data)  # 响应信息

    requests库使用了urllib3,API更加友好;默认使用Session对象,保留客户端和服务器多次交互中的会话信息(例如cookie)。

    import requests
    
    ua = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'
    urls = ['https://www.baidu.com/s?wd=magedu', 'https://www.baidu.com/s?wd=magedu']
    
    session = requests.Session()
    
    with session:
        for url in urls:
            response = session.get(url, headers={'User-Agent': ua})
            with response:
                print(type(response))  # <class 'requests.models.Response'>
                print(response.url)  # 真正访问的url
                print(response.status_code)  # 200
                print(response.headers)  # 响应的头部
                print(response.cookies)  # 两次访问同一网站的cookies不同
                print(response.request.headers)  # 两次访问网站的请求头信息里,第一次没有cookies信息,第二次携带有cookies信息。说明session对象会保存上一次访问该网站的cookies信息。可以躲过通过cookies信息识别进行反爬虫的网站
                print(response.text)  # HTML的内容;返回的为str类型,不需要做json转换
  • 相关阅读:
    Android布局控件
    XAMPP里tomcat启动报错:Make sure you have Java JDK or JRE installed and the required ports are free
    poj 北京大学 2014研究生推免上机考试(校内)
    2014北大计算机学科保研直博夏令营上机poj考试
    《C++Primer》第四版学习笔记--持续更新中
    poj1986:Distance Queries
    poj2533:最长上升子序列
    poj1062:昂贵的聘礼
    黑书贪心例题之钓鱼 poj1042:Gone Fishing
    转:最小没出现的整数
  • 原文地址:https://www.cnblogs.com/hongdanni/p/10489292.html
Copyright © 2011-2022 走看看