• requests


    requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到。可以说,Requests 完全满足如今网络的需求

    官方文档 http://docs.python-requests.org/en/master/


    什么是requests模块

    requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求。功能强大,用法简洁高效。在爬虫领域中占据着半壁江山的地位。


    为什么要使用requests模块

    • 因为在使用urllib模块的时候,会有诸多不便之处,总结如下:

      • 手动处理url编码
      • 手动处理post请求参数
      • 处理cookie和代理操作繁琐
      • ......
    • 使用requests模块:

      • 自动处理url编码
      • 自动处理post请求参数
      • 简化cookie和代理操作
      • .....

     

    如何使用requests模块

    • 安装:

      • pip install requests
    • 作用特点

      • 作用:就是用来模拟浏览器上网的。
      • 特点:简单,高效
    • 使用流程

      • 指定url
      • 基于requests模块发起请求
      • 获取响应对象中的数据值
      • 持久化存储

    无参数:

    #爬取搜狗首页的页面数据
    import requests
    #1指定url
    url = 'https://www.sogou.com/'
    #2.发起请求
    response = requests.get(url=url)
    #3获取响应数据
    page_text = response.text #text返回的是字符串类型的数据
    #持久化存储
    with open('./sogou.html','w',encoding='utf-8') as fp:
        fp.write(page_text)
    print('over!')

    带参数

    #百度翻译
    url = 'https://fanyi.baidu.com/sug'
    word = input('enter a English word:')
    #请求参数的封装
    data = {
        'kw':word
    }
    #UA伪装
    headers = {
        'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36'
    }
    response = requests.post(url=url,data=data,headers=headers)
    #text:字符串  json():对象
    obj_json = response.json()
    
    print(obj_json)


     动态加载的数据

    #爬取任意城市对应的肯德基餐厅的位置信息
    
    city = input('enter a cityName:')
    url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword'
    data = {
        "cname": "",
        "pid": "",
        "keyword": city,
        "pageIndex": "2",
        "pageSize": "10",
    }
    #UA伪装
    headers = {
        'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36'
    }
    response = requests.post(url=url,headers=headers,data=data)
    
    json_text = response.text
    
    print(json_text)

  • 相关阅读:
    01.Sencha ExtJS 6
    02.Sencha ExtJS 6
    关于Jquery的delegate绑定事件无效
    细说 Form (表单)
    Rquest Request[""];Request.Form[""];Request.QueryString[""]
    一文看懂web服务器、应用服务器、web容器、反向代理服务器区别与联系
    vs 调试不进入断点
    HttpWebRequest类
    C# 利用 Windows服务模板 创建、安装与卸载Windows服务
    如何搭建win10 asp开发环境安装iis10
  • 原文地址:https://www.cnblogs.com/q455674496/p/11000236.html
Copyright © 2020-2023  润新知