Python爬虫连载10-Requests模块、Proxy代理
一、Request模块
1.HTTP for Humans,更简洁更友好
2.继承了urllib所有的特征
3.底层使用的是urllib3
4.开源地址:https://github.com/requests/requests
5.中文文档:https://requests.readthedocs.io/zh_CN/latest/
6.先安装这个包:pip install requests
7.get请求
(1)requests.get()
(2)requests.request("get",url)
(3)可以带有headers和params参数
8.get返回内容
import requests
#两种请求
url = "http://www.baidu.com/s?"
rsp = requests.get(url)
# print(rsp.text)
#使用get请求
rsp = requests.request("GET",url)
# print(rsp.text)
#拿到的结果都是一样的
"""
使用参数headers和params来研究返回结果
"""
kw = {
"wd":"python中文文档"
}
headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36"
}
rsp=requests.get(url,params=kw,headers=headers)
print(rsp.text)
print("=========================")
print(rsp.content)
print("=========================")
print(rsp.url)
print(rsp.encoding)
print(rsp.status_code)

二、post
data,headers要求使用dict
import requests
from urllib import parse
import json
url = "http://www.baidu.com/s?"
data = {
"kw":"girl"
}
# data = parse.urlencode(data).encode("utf-8")
headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36"
}
rsp = requests.post(url,data=data,headers=headers)
print(rsp.text)
# print(rsp.json())

三、proxy代理
1.代理有可能会报错,如果使用人数多,考虑到安全问题,可能会被强行关闭
2.用户验证
(1)代理验证:可能需要HTTP basic Auth
proxy = {"http":"china:123456@192.168.1.123:458"}
#格式为 用户名:密码@代理地址:端口地址
rsp = requests.get("http://baidu.com",proxies=proxy)
(2)web客户端验证
如果遇到web客户端验证,需要添加auth=(用户名,密码)
auth = {"test",""}#授权信息
rsp = requests.get("http://www.baidu.com",auth=auth)
四、源码
Reptitle10_1_Requests.py
Reptitle10_2_Post.py
https://github.com/ruigege66/PythonReptile/blob/master/Reptitle10_1_Requests.py
https://github.com/ruigege66/PythonReptile/blob/master/Reptitle10_2_Post.py
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

Python爬虫连载10-Requests模块、Proxy代理的更多相关文章
- python爬虫scrapy之downloader_middleware设置proxy代理
一.背景: 小编在爬虫的时候肯定会遇到被封杀的情况,昨天爬了一个网站,刚开始是可以了,在settings的设置DEFAULT_REQUEST_HEADERS伪装自己是chrome浏览器,刚开始是可以的 ...
- Python爬虫学习1: Requests模块的使用
Requests函数库是学习Python爬虫必备之一, 能够帮助我们方便地爬取. Requests: 让HTTP服务人类. 本文主要参考了其官方文档. Requests具有完备的中英文文档, 能完全满 ...
- python爬虫中的requests模块
Requests: 让 HTTP 服务人类 一.简介 虽然Python的标准库中 urllib 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests ...
- 吴裕雄--天生自然python爬虫:使用requests模块的get和post方式抓取中国旅游网站和有道翻译网站翻译内容数据
import requests url = 'http://www.cntour.cn/' strhtml = requests.get(url) print(strhtml.text) URL='h ...
- 爬虫开发5.requests模块的cookie和代理操作
代理和cookie操作 一.基于requests模块的cookie操作 引言:有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests ...
- python + seleinum +phantomjs 设置headers和proxy代理
python + seleinum +phantomjs 设置headers和proxy代理 最近因为工作需要使用selenium+phantomjs无头浏览器,其中遇到了一些坑,记录一下,尤 ...
- 爬虫中之Requests 模块的进阶
requests进阶内容 session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 引入 有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个 ...
- 爬虫简介与requests模块
爬虫简介与requests模块 一 爬虫简介 概述 网络爬虫是一种按照一定规则,通过网页的链接地址来寻找网页的,从网站某一个页面(通常是首页)开始,读取网页的内容,找到网页中的其他链接地址,然后通过这 ...
- Python爬虫与数据分析之模块:内置模块、开源模块、自定义模块
专栏目录: Python爬虫与数据分析之python教学视频.python源码分享,python Python爬虫与数据分析之基础教程:Python的语法.字典.元组.列表 Python爬虫与数据分析 ...
随机推荐
- C语言进阶——编译预处理指令
编译预处理指令 • #开头的是编译预处理指令 • 它们不是C语⾔的成分,但是C语⾔程序离不开它们 • #define⽤来定义⼀个宏 #define • #define <名字> <值 ...
- List自定义排序 (例子省份排序)
//待排序集合 List<String> list=new ArrayList<String>(); list.add("辽宁"); list.add(&q ...
- Quartz cron 表达式(linux 定时器,java 定时任务,spring task定时任务)
原文地址:https://blog.csdn.net/feng27156/article/details/39293403 Quartz cron 表达式的格式十分类似于 UNIX cron 格式,但 ...
- 投入OJ的怀抱~~~~~~~~~~
OpenJudge C20182024 信箱(1) 账号 修改设定 退出小组 管理员 frank 林舒 Dzx someone 李文新 公告 11-05 程序设计与算法(大学先修课) 成员(61910 ...
- ts和nts的区别 (redis中碰到)
[TS指Thread Safet y线程安全 NTS即None-Thread Safe 非线程安全] 区别:[TS NTS] TS指Thread Safety,即线程安全,一般在IIS以ISAPI ...
- springIOC源码接口分析(六):ResourceLoader
参考博客: https://www.cnblogs.com/jixp/articles/10702486.html 一 定义方法 Spring提供了ResourceLoader接口用于实现不同的Res ...
- pycharm 固定模板使用者和日期
如上图修改就可以正常修改模板了修改后每创建一个python文件就会是这种效果
- <img>和background-img区别
1. 是否占位 background-image是背景图片,是css的一个样式,不占位 <img />是一个块状元素,它是一个图片,是html的一个标签,占位 2.否可操作 backgro ...
- 火狐的一个bug
发现这个bug是因为最近眼睛不太好,所以网页大小都是正常大小的140% 就发现火狐游览器好多网页上的输入框与按钮对不齐 测试代码 <!DOCTYPE html> <html lang ...
- 练习2-13 求N分之一序列前N项和 (15 分)
练习2-13 求N分之一序列前N项和 (15 分) 输入在一行中给出一个正整数N. 输出格式: 在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位.题目保证计算结果不超过双精度范 ...