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之Broadcast, BroadcastReceiver(广播)
    Android之“==”与equals区别
    Android之notificaction使用
    android service 学习
    Android之Menu.add()
    (转)Android生命周期
    Partial Method in VB.NET
    如何侦测机器上装的.net framework的版本
    Powersehll: match ,cmatch,imatch命令
    Office Tip(1) : Split the Screen
  • 原文地址:https://www.cnblogs.com/hongdanni/p/10489292.html
Copyright © 2011-2022 走看看