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:[email protected]:458"}

#格式为   用户名:密码@代理地址:端口地址

rsp = requests.get("http://baidu.com",proxies=proxy)

(2)web客户端验证

如果遇到web客户端验证,需要添加auth=(用户名,密码)

auth = {"test","123456"}#授权信息

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.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

?

原文地址:https://www.cnblogs.com/ruigege0000/p/12364801.html

时间: 2024-10-10 17:13:59

Python爬虫连载10-Requests模块、Proxy代理的相关文章

python爬虫----(1. 基本模块)

python爬虫,web spider.爬取网站获取网页数据,并进行分析提取. 基本模块使用的是 urllib,urllib2,re,等模块 (一)基本用法,例子 (1)进行基本GET请求,获取网页html #!coding=utf-8 import urllib import urllib2 url = 'http://www.baidu.com/' # 获取请求 request = urllib2.Request(url) try:     # 根据request,得到返回response

爬虫简介和requests模块

目录 爬虫介绍 requests模块 requests模块 1.requests模块的基本使用 2.get 请求携带参数,调用params参数,其本质上还是调用urlencode 3.携带headers,请求头是将自身伪装成浏览器的关键 4.带cookie 5.发送post请求(注册,登陆),携带数据(body) 6.session对象 7.响应对象 8.乱码问题 9.解析json 10.使用代理 11.异常处理 12.上传文件(爬虫用的比较少,一般用于后台写服务,将爬取下来的文件上传给其他服务

Python 爬虫入门(二)—— IP代理使用

上一节,大概讲述了Python 爬虫的编写流程, 从这节开始主要解决如何突破在爬取的过程中限制.比如,IP.JS.验证码等.这节主要讲利用IP代理突破. 1.关于代理 简单的说,代理就是换个身份.网络中的身份之一就是IP.比如,我们身在墙内,想要访问google.u2b.fb等,直接访问是404,所以要换个不会被墙的IP,比如国外的IP等.这个就是简单的代理. 在爬虫中,有些网站可能为了防止爬虫或者DDOS等,会记录每个IP的访问次数,比如,有些网站允许一个IP在1s(或者别的)只能访问10次等

爬虫基础之requests模块

1. 爬虫简介 1.1 概述 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本. 1.2 爬虫的价值 在互联网的世界里最有价值的便是数据, 谁掌握了某个行业的行业内的第一手数据, 谁就是该行业的主宰. 掌握了爬虫技能, 你就成了所有互联网信息公司幕后的老板, 换言之,它们都在免费为你提供有价值的数据. 1.3 robots.txt协议 如果自己的门户网站中的指定页面中的数据不想让爬虫程序爬取到的话,那么

爬虫(四):requests模块

1. requests模块 1.1 requests简介 requests 是一个功能强大.简单易用的 HTTP 请求库,比起之前用到的urllib模块,requests模块的api更加便捷.(本质就是封装了urllib3) 可以使用pip install requests命令进行安装,但是很容易出网络问题,所以我找了下国内的镜像源来加速. 然后就找到了豆瓣的镜像源: pip install 包名 -i http://pypi.douban.com/simple/ --trusted-host

python笔记8:requests模块

简介: requests是python的一个http客户端库,跟urlib.urlib2类似,requests模块是基于urlib模块开发的,代码实现更为简洁. 模块安装: pip install requests ,使用requests模块时直接import requests即可. 简单使用requests: http协议的接口,请求方式分为get和post,这2种最为常用.请求参数常用的形式有key-value.json.文件上传.接口添加cookies.headers等操作. get请求-

Python 爬虫入门(requests)

相信最开始接触Python爬虫学习的同学最初大多使用的是urllib,urllib2.在那之后接触到了第三方库requests,requests完全能满足各种http功能,真的是好用爆了 :D 他们是这样说的: “Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用.Requests 允许你发送纯天然,植物饲养的 HTTP/1.1 请求,无需手工劳动.你不需要手动为 URL 添加查询字串,也不需要对 POST 数据进行表单编码.Keep-alive 和 HTTP

Python爬虫连载1-urllib.request和chardet包使用方式

一.参考资料 1.<Python网络数据采集>图灵工业出版社 2.<精通Python爬虫框架Scrapy>人民邮电出版社 3.[Scrapy官方教程](http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/tutorial.html) 4.[Python3网络爬虫](http://blog.csdn.net/c406495762/article/details/72858983 二.前提知识 url.http协议.web前端:html\

Python爬虫连载17-ItemPipeLine、中间件

一.ItemPipeLine 1.爬虫提取出的数据存入item之后,item中保存的数据需要进一步处理,比如:清洗,去重,存储等 2.pipeline需要process_item函数 (1)process_item?:spider提出来的item作为参数出入,同时传入的还有spider:此方法是必须要实现的?:必须返回一个item对象,被丢弃的item不会被之后的pipeline处理 (2)__init__:构造函数 进行一些必要的参数初始化 (3)open_spider(spider) spi