如何安装第三方模块

pip3
        pip3 install xxxx
    
    源码
        下载,解压
        进入目录 python setup.py install

requests

最常用的测试方法
import requests a = requests.get("http://127.0.0.1:8000/test/", )

python 标准库中提供了:urllib等模块以供http请求,但是,它的API太渣了。他是为另一个时代、另一个互联网所创建的。它需要巨大的工作,甚至包括各种方法辅助,来完成简单的工作,所以选择requests
一堆废话,简单的说就是urllib,urllib2是python底层的东西,当请求URL的时候,requests可以模拟浏览器完成一系列动作,而且代码量比较少,不过urllib也有自己的优势

    import urllib.request
f = urllib.request.urlopen('http://www.webxml.com.cn//webservices/qqOnlineWebService.asmx/qqCheckOnline?qqCode=424662508')
result = f.read().decode('utf-8') import urllib.request
req = urllib.request.Request('http://www.example.com/')
req.add_header('Referer','http://www.python.org')
r = urllib.request.urlopen(req)
result = r.read().decode('utf-8')

Requests是使用Aachen2 Licensed 许可证的基于python开发的HTTP库,其在python内置模块的基础上进行了高度的封装,从而使得pythoner进行网络请求时,变的美好许 多,使用Requests可以轻而易举的完成浏览器可有的任何操作

1)、无参数实例

    import requests
ret = requests.get(''https://github.com/timeline.json'')
print(ret.url)
print(ret.text)

2)、有参数实例

    import requests
payload = {'key1': 'value1', 'key2': 'value2'}
ret = quests.get("http://httpbin.org/get", params=payload)
print(ret.url)
print(ret.text)

3)、其他请求

    requests.get(url,params=None,**kwargs)
requests.post(url,data=None,json=None,**kwargs)
requests.put(url,data=None,**kwargs)
requests.head(url,**kwargs)
requests.delete(url,**kwargs)
requests.path(url,data=None,**kwargs)
requests.options(url,**kwargs)

#以上方法是在此方法的基础上构建
requests.request(method, url, **kwargs)
更多requests模块相关的文档见:http://cn.python-requests.org/zh_CN/latest/

4)、http请求和XML实例
实例:检测qq账号是否在线

    import urllib
import requests
from xml.etree import ElementTree as ET
    # 使用内置模块urllib发送HTTP请求,或者XML格式内容
""" f = urllib.request.urlopen('http://www.webxml.com.cn//webservices/qqOnlineWebService.asmx/qqCheckOnline?qqCode=424662508')
result = f.read().decode('utf-8') """ # 使用第三方模块requests发送HTTP请求,或者XML格式内容 r = requests.get('http://www.webxml.com.cn//webservices/qqOnlineWebService.asmx/qqCheckOnline?qqCode=424662508')
result = r.text
# 解析XML格式内容
node = ET.XML(result) # 获取内容
if node.text == "Y":
print("在线")
else:
print("离线") 复制代码
"""

5)、查看火车停靠信息

    import urllib
import requests
from xml.etree import ElementTree as ET # 使用内置模块urllib发送HTTP请求,或者XML格式内容
""" f = urllib.request.urlopen('http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx/getDetailInfoByTrainCode?TrainCode=G666&UserID=')
result = f.read().decode('utf-8') """ # 使用第三方模块requests发送HTTP请求,或者XML格式内容 r = requests.get('http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx/getDetailInfoByTrainCode?TrainCode=G666&UserID=')
result = r.text # 解析XML格式内容 root = ET.XML(result)
for node in root.iter('TrainDetailInfo'):
print(node.find('TrainStation').text,node.find('StartTime').text,node.tag,node.attrib)

Requests post方法向后端传递cookie参数, 模拟登陆 --》 注意: 是cookies

#!/usr/bin/env python
# -*- coding:utf-8 -*- import requests cookie = {"__sessionId__": "a632155ffbc63469da6b394b9ccacb768f6cc407"} url = "http://192.168.2.137:8888/show_sample_user_all_article" session = requests.Session() ret = session.post(url, data={"UserID": 123456}, cookies=cookie) result = ret.json() print(result)
print(result["value"])

看源码:

    def post(self, url, data=None, json=None, **kwargs):
r"""Sends a POST request. Returns :class:`Response` object. :param url: URL for the new :class:`Request` object.
:param data: (optional) Dictionary, bytes, or file-like object to send in the body of the :class:`Request`.
:param json: (optional) json to send in the body of the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:rtype: requests.Response
""" return self.request('POST', url, data=data, json=json, **kwargs)
def request(self, method, url,
params=None, data=None, headers=None, cookies=None, files=None,
auth=None, timeout=None, allow_redirects=True, proxies=None,
hooks=None, stream=None, verify=None, cert=None, json=None):

requests增加代理模式

#!/usr/bin/env python
# -*- coding:utf- -*- import requests, re, os, sys, random, time
from bs4 import BeautifulSoup
from urllib.parse import unquote def aaa():
# sum_ip_url = "http://api3.xiguadaili.com/ip/?tid=558422469336006&num=1&protlcol=https"
sum_ip_url = "http://api3.xiguadaili.com/ip/?tid=558462304396750&num=1000"
sum_ip_data = requests.get(sum_ip_url) timeout =
# proxie = {"https": "https://" + random.choice(li)}
proxie = {"http": "http://" + sum_ip_data.text} content = requests.get("https://www.cnblogs.com/renfanzi/p/9243400.html", proxies=proxie, timeout=timeout, verify=False).text
print(str(content)) time.sleep() if __name__ == '__main__':
# for i in range(): aaa()
# pass

安装第三方模块方法和requests的更多相关文章

  1. 【Python】[模块]使用模块,安装第三方模块

    一个.py文件就称之为一个模块(Model)按目录来组织模块的方法,称为包(Package)每一个包目录下面都会有一个__init__.py的文件内置函数1.使用模块 导入模块 import sys ...

  2. python 安装第三方模块

    在Python中,安装第三方模块,是通过setuptools这个工具完成的. 如果你正在使用Mac或Linux,安装setuptools本身这个步骤就可以跳过了. 如果你正在使用Windows,请首先 ...

  3. sae python安装第三方模块

    sae python安装第三方模块 经过这一个星期的折腾,发现编程真心不是看出来的,真心是跟着书上的代码敲出来的.sae的服务做得很好,不过有时候会崩就是了.当sae上没有自己所需要的第三方模块时,可 ...

  4. Nginx编译安装第三方模块http_substitutions_filter_module2222

    Nginx编译安装第三方模块http_substitutions_filter_module Rming -- 阅读 安装 Http 编译 module filter nginx 模块 >> ...

  5. Nginx编译安装第三方模块http_substitutions_filter_module

    Nginx编译安装第三方模块http_substitutions_filter_module 分类:服务器技术  作者:rming  时间:-- . >>ngx_http_substitu ...

  6. nginx 安装第三方 模块

    查看nginx在安装时开启了哪些模块 如果你nginx是rpm包安装的,直接用如下命令nginx -V 如果你是源码包编译安装,假如你的安装路径是/usr/local/nginx,那么你可以使用: / ...

  7. Anaconda安装第三方模块

    Anaconda安装第三方模块 普通安装: 进去\Anaconda\Scripts目录,conda install 模块名 源码安装: 进去第三方模块目录,python install setup.p ...

  8. nanopi NEO2 学习笔记 2:安装 pip 和 pip 安装第三方模块

    我现在越来越喜欢用python做开发了,特别是知道了python还能用rpi.gpio库操作 NEO2 的 io 口之后,更是激动 在进行一下的操作之前,要先更换国内的 apt arm64 源,并更新 ...

  9. python——模块(Module)的概念、使用以及安装第三方模块

    一.模块定义 python中,一个.py文件就是一个模块(Module). 使用模块的好处:1.提高了代码的可维护性.我们把函数进行分组,分别放在不同的模块中.2.编写代码不必要从0开始,当一个模块编 ...

随机推荐

  1. redux middleware 的理解

    前言 这几天看了redux middleware的运用与实现原理,写了一个百度搜索的demo,实现了类似redux-thunk和redux-logger中间件的功能. 项目地址:https://git ...

  2. [LeetCode] Implement Trie (Prefix Tree)

    Implement a trie with insert, search, and startsWith methods. Note:You may assume that all inputs ar ...

  3. 音乐播放器 EasyMusic (一)

    EasyMusic 一. 代码获取 github 上链接为 https://github.com/VincentWYJ/EasyMusic, 感兴趣的朋友可以同步下来看, 欢迎提出宝贵意见或建议. 1 ...

  4. 跟我从零基础学习Unity3D开发--初识U3D

    首先声明,我也是才开始学,把自己学的记录下来也供一些想要学习的朋友参考,一起努力.希望大家能给我指点一下.切莫喷我. 什么是Unity3d呢? 百度百科------Unity是由Unity Techn ...

  5. Centos6.5入侵清理

    今天早上来,网站打不开.通过xshell打不开终端,很久才打开.发现内存占用率高达95%,loadavg 15  16  16 现状: 负载太高     15        15            ...

  6. [转]ExtJS之遍历Store

    原文地址:http://blog.sina.com.cn/s/blog_67cc6e7d0100ox6u.html ExtJS中,一般很少需要遍历Store,因为它的selectModel很好用,无论 ...

  7. hdu 3401 单调队列优化DP

    Trade Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status ...

  8. Nginx高级使用

    1.用户认证 客户端访问限制deny 客户端地址: 拒绝访问allow 客户端地址: 允许访问 rpm -q httpd-tools yum -y install httpd-tools user h ...

  9. python对缓存(memcached,redis)的操作

    1.Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的 ...

  10. BZOJ1491: [NOI2007]社交网络

    传送门 最短路计数问题.因为数据量非常小($N \leq 100$),所以Floyd随便搞搞就行了. $f[i][j]$表示路径长度,$g[i][j]$表示最短路方案数. 先跑一遍裸的Floyd,然后 ...