Requests模块
这个库的标准文档有个极其幽默的地方就是它的中文翻译,我就截取个开头部分,如下图:

是不是很搞笑,在正文中还有许多,管中窥豹,可见一斑。通过我的使用,感觉Requests库的确是给那些初学者,入门小白,非专业人士使用的,不会产生打人,砸键盘,脱发等一系列反人类行为,很好的使社会安全等级有又提升了一个档次,让人类社会向路不拾遗,夜不闭户又迈进了一步。(手动笑脸)
咱们先从安装Resquests是库谈起,安装只需在Windows的命令框中输入pip install requests,然后自动完成安装。这个库的许多方法我没有怎么用到,我只把一些入门及常用的方法介绍一遍,其他的请转移到www.python-requests.org这个阵地进行查看。
Requests库使得人们可以非常方便的模拟浏览器的行为,去发送请求,并获得响应。
首先通过import在程序中导入requests模块:
import requests

接下来为get请求的实列:

只有一个url参数的get请求

response = requests.get('https://docs.python.org')

并设置超时时间timeout

response = requests.get('https://docs.python.org', timeout = 1)

查看发送请求的url地址

print('请求的url地址' + response.url)

查看当前返回状态编码,传输文件编码形式

print('返回状态编码' + response.encoding)

查看当前返回内容,text 返回字符串,content 返回字节流

print('text返回内容 ' + response.text)
print('content 返回内容 ' + str(response.content))

获取服务器返回的原始数据,html格式文件

data = requests.get('http://www,baidu.com', stream = True)

print(data.raw.read())

发送有多个参数的get请求

Params = {'key1': 'value1', 'key2': 'value2'}
baiDU_dictParams_response = requests.get('http://www.baidu.com', params=Params)

发送list格式参数的get请求

print("发送list格式参数的get请求: ")
ListParams = {'key1': 'value1', 'key2': ['value2', 'value3']}
listParams_response = requests.get('https://docs.python.org', params=ListParams)

查看发送请求的url地址

print('带list参数的get请求地址为: ' + listParams_response.url)

post请求方式:

请求参数通过附加data方式传输

方式一,字典格式

Post_Response = requests.post('https://blog.csdn.net',
data = {'key': 'value'})
print('普通参数请求返回状态码: ' + str(Post_Response.status_code))

方式二 json格式

jsonParams = {'key': 'value'}
postJsonResponse = requests.post('https://blog.csdn.net',
data=json.dumps(jsonParams))
print('json参数请求返回状态码为: ' + str(postJsonResponse.status_code))

方式三 发送文件(该文件同级目录下需要有test.csv文件 )rb 只读模式 wb 若没有自动创建

files = {'file': open('D:\fff.csv', 'rb')}
fileResponse = requests.post('http://pythontab.com/postTest', files=files)

自定义headers 并发送,这是你自己浏览器的标识,在检查源码中可以获得

headers = {'user-agent': ' Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134 '}
custom_headers_response = requests.get('https://blog.csdn.net', headers=headers)
print('自定义header发送请求状态码为:' + str(custom_headers_response.status_code))

带cookie参数的请求:

cookies_response = requests.get('https://blog.csdn.net')

自定义Cookies 并发送

cookies = {'user-cookies': 'myCookies'}
custom_cookies_response = requests.get('http://pythontab.com/testLogin', cookies=cookies)
print('自定义Cookies发送请求状态码为:' + str(custom_cookies_response.status_code))

通过requests获取session

session = requests.Session()

举例:登录名 密码  key为登陆表单中对应的input的name值

login_data = {'email': 'email@example.com', 'password': 'password'}

发送数据

session.post("http://pythontab.com/testLogin", login_data)

获取发送的session

session_response = session.get('http://pythontab.com/notification/')
print('session请求返回的状态码为:' + str(session_response.status_code))

将页面以html的形式下载下来

utf-8可以使中文字显示出来

baiDuHtmlContent = requests.get("https://www.zhihu.com")
with open("百度.html", "wb") as html:
html.write(baiDuHtmlContent.content.decode(“utf-8”))
html.close()

这些代码没有什么特别的地方,只要按照requests模块中方法的要求,找准输入参数和输出内容,就能灵活运用这些内容。
这里说一下代理服务器的相关内容。
其实如果你想去用Google搜索一些内容,上youtobe看看电影,与Facebook的外国友人聊聊天,这些都需要一个叫做VPN的东西,就是将你的请求挂在在一个代理服务器的上面,然后代理服务器去向你指定的网站发出请求,获得一个缓存,并把这个缓存的数据返回给你。相当于一个互联网与你之间的一个中介,就像你租房子要通过58同城这样的中介网站一样。

大家可以关注我的微信公众号,如果有什么问题和我博客中的一些错误,请后台留言给我,谢谢!

python爬虫(三)的更多相关文章

  1. Python爬虫(三)爬淘宝MM图片

    直接上代码: # python2 # -*- coding: utf-8 -*- import urllib2 import re import string import os import shu ...

  2. Python 爬虫三 beautifulsoup模块

    beautifulsoup模块 BeautifulSoup模块 BeautifulSoup是一个模块,该模块用于接收一个HTML或XML字符串,然后将其进行格式化,之后遍可以使用他提供的方法进行快速查 ...

  3. Python爬虫(三)——开封市58同城出租房决策树构建

    决策树框架: # coding=utf-8 import matplotlib.pyplot as plt decisionNode = dict(boxstyle=') leafNode = dic ...

  4. Python爬虫(三)——对豆瓣图书各模块评论数与评分图形化分析

    文化         经管 ....略 结论: 一个模块的评分与评论数相关,评分为 [8.8——9.2] 之间的书籍评论数往往是模块中最多的

  5. Python 爬虫 (三)

    #对第一章的百度翻译封装的函数进行更新 1 from urllib import request, parse from urllib.error import HTTPError, URLError ...

  6. Python爬虫(四)——开封市58同城数据模型训练与检测

    前文参考: Python爬虫(一)——开封市58同城租房信息 Python爬虫(二)——对开封市58同城出租房数据进行分析 Python爬虫(三)——对豆瓣图书各模块评论数与评分图形化分析 数据的构建 ...

  7. Python爬虫(四)——豆瓣数据模型训练与检测

    前文参考: Python爬虫(一)——豆瓣下图书信息 Python爬虫(二)——豆瓣图书决策树构建 Python爬虫(三)——对豆瓣图书各模块评论数与评分图形化分析 数据的构建 在这张表中我们可以发现 ...

  8. Python爬虫学习:三、爬虫的基本操作流程

    本文是博主原创随笔,转载时请注明出处Maple2cat|Python爬虫学习:三.爬虫的基本操作与流程 一般我们使用Python爬虫都是希望实现一套完整的功能,如下: 1.爬虫目标数据.信息: 2.将 ...

  9. 3.Python爬虫入门三之Urllib和Urllib2库的基本使用

    1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解释才呈现出来的,实质它是一段HTML代码,加 JS.CSS ...

随机推荐

  1. 洛谷P3833 [SHOI2012]魔法树(树链剖分)

    传送门 树剖板子…… 一个路径加和,线段树上打标记.一个子树询问,dfs的时候记录一下子树的区间就行 // luogu-judger-enable-o2 //minamoto #include< ...

  2. bzoj 2257[Jsoi2009]瓶子和燃料 数论/裴蜀定理

    题目 Description jyy就一直想着尽快回地球,可惜他飞船的燃料不够了. 有一天他又去向火星人要燃料,这次火星人答应了,要jyy用飞船上的瓶子来换.jyy 的飞船上共有 N个瓶子(1< ...

  3. flask请求访问数据

    flask请求访问数据 在flask框架中,访问请求数据由全局的request对象来提供,在flask框架中,request对象具有 全局作用域: from flask import request ...

  4. [Usaco2006 Jan] Dollar Dayz 奶牛商店

    Description 约翰到奶牛商场里买工具.商场里有K(1≤K≤100).种工具,价格分别为1,2,-,K美元.约翰手里有N(1≤N≤1000)美元,必须花完.那他有多少种购买的组合呢? Inpu ...

  5. Hdu 5358 First One (尺取法+枚举)

    题目链接: Hdu 5358 First One 题目描述: 数组a有n个元素,S[i,j]定义为a[i]+a[i+1]+.....+a[j],问:这个死东西等于多少? 解题思路: 二分肯定超,这个题 ...

  6. poj 1061 青蛙约会(扩展欧几里德)

    题目链接: http://poj.org/problem?id=1061 题目大意: 中文题目,题意一目了然,就是数据范围大的出奇. 解题思路: 假设两只青蛙都跳了T次,可以列出来不定方程:p*l + ...

  7. AC自动机 HDOJ 5384 Danganronpa

    题目传送门 /* 题意:多个文本串,多个模式串在每个文本串出现的次数 AC自动机:这就是一道模板题,杭电有道类似的题目 */ /************************************ ...

  8. Linux磁盘分区、格式化和挂载

    一.查看磁盘使用 [root@iZ88rvassw1Z ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 40G .3G 3 ...

  9. 转 叫板OpenStack:用Docker实现私有云

    http://www.cnblogs.com/alexkn/p/4239457.html 看到各大厂商的云主机,会不会觉得高大上?目前大公司的主流方案是OpenStack,比如某个公司的私有云

  10. MAT使用入门

    原文出处: 高建武 (Granker,@高爷) MAT简介 MAT(Memory Analyzer Tool),一个基于Eclipse的内存分析工具,是一个快速.功能丰富的JAVA heap分析工具, ...