广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python爬虫之requests库使用代理方式
  • 350
分享到

python爬虫之requests库使用代理方式

2024-04-02 19:04:59 350人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录安装上requests库GET方法谷歌浏览器的开发者工具POST方法使用代理在看这篇文章之前,需要大家掌握的知识技能: Python基础html基础Http状态码 让我们看看这篇

在看这篇文章之前,需要大家掌握的知识技能:

让我们看看这篇文章中有哪些知识点:

  • get方法
  • post方法
  • header参数,模拟用户
  • data参数,提交数据
  • proxies参数,使用代理
  • 进阶学习

安装上requests库

pip install requests

先来看下帮助文档,看看requests的介绍,用python自带的help命令

import requests
help(requests)

output:

Help on package requests:

NAME
    requests

DESCRIPTioN
    Requests HTTP Library
    ~~~~~~~~~~~~~~~~~~~~~
    
    Requests is an HTTP library, written in Python, for human beings. Basic GET
    usage:
    
       >>> import requests
       >>> r = requests.get('https://www.python.org')
       >>> r.status_code
       200
       >>> 'Python is a programming language' in r.content
       True
    
    ... or POST:
    
       >>> payload = dict(key1='value1', key2='value2')
       >>> r = requests.post('https://httpbin.org/post', data=payload)
       >>> print(r.text)
       {
         ...
         "fORM": {
           "key2": "value2",
           "key1": "value1"
         },
         ...
       }
    
    The other HTTP methods are supported - see `requests.api`. Full documentation
    is at <http://python-requests.org>.
    
    :copyright: (c) 2017 by Kenneth Reitz.
    :license: Apache 2.0, see LICENSE for more details.

这里解释下,requests库是由python编写的对人类友好的http库,并且举例了GET与POST的方法。

GET方法

好的,那我们自己来测试下,就以请求百度为例吧,,,(谁让百度这么耐抗的)

import requests
r = requests.get('https://www.baidu.com')
print(r.status_code) #打印返回的http code
print(r.text) #打印返回结果的text

方便点,截了个图给大家看,返回的code是200,说明请求正常拉回网页了。

看下返回的text,有点不对头,少了一些html标签,最起码百度两个字得有吧。嗯,这是什么原因,,,

相信有些同学已经想到了,是没有真实模拟用户的请求,你去爬数据,还不模拟用户请求,那肯定限制你啊。这个时候需要加一个header参数来搞定,至少要加一个user-agent吧。好,那咋们去找一个ua吧。别百度了,自己动手,丰衣足食。教大家一个办法,用谷歌或者火狐的开发者工具。

谷歌浏览器的开发者工具

打开新标签 —— 按F12——访问下百度——找到NetWork——随便点开一个——往下翻——看到ua了吧,复制上。

import requests
headers = {'User-Agent': 'Mozilla/5.0 (windows NT 6.1; Win64; x64) AppleWEBKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'}
r = requests.get('https://www.baidu.com', headers=headers)
print(r.status_code)
print(r.text)

嗯~~~数据有点多,往下翻翻,这下就正常了嘛,数据都有了。。。PS:不信?可以自己输出一个html文件,浏览器打开看看呗

POST方法

只需要把get改成post就好了

import requests
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'}
r = requests.post('https://www.baidu.com', headers=headers)
print(r.status_code)
print(r.text)

运行下试试看。一般post都是用来提交表单信息的,嗯,这里找一个能提交数据的url,去post下。

用我自己写的接口(PS:Django写的,挺方便),大家复制过去就好了。注意看代码,data是要post的数据,post方法里加了一个data参数。

import requests
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'}
# post的数据
data = {"info": "biu~~~ send post request"}
r = requests.post('http://dev.kdlapi.com/testproxy', headers=headers, data=data) #加一个data参数
print(r.status_code)
print(r.text)

截个图给大家看下,http code 200,body信息说的post成功,并且返回的了我自己的IP信息以及post的数据

使用代理

为什么用代理?一般网站都有屏蔽的限制策略,用自己的IP去爬,被封了那该网站就访问不了,这时候就得用代理IP来解决问题了。封吧,反正封的不是本机IP,封的代理IP。

既然使用代理,得先找一个代理IP。PS:自己写个代理服务器太麻烦了,关键是我也不会写啊,,,哈哈哈

import requests

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'}
# post的数据
data = {"info": "biu~~~ send post request"}

# 代理信息,由快代理赞助
proxy = '115.203.28.25:16584'
proxies = {
    "http": "http://%(proxy)s/" % {'proxy': proxy},
    "https": "http://%(proxy)s/" % {'proxy': proxy}
}

r = requests.post('http://dev.kdlapi.com/testproxy', headers=headers, data=data, proxies=proxies) #加一个proxies参数
print(r.status_code)
print(r.text)

主要方法里加个proxies参数,这就用上代理IP了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: python爬虫之requests库使用代理方式

本文链接: https://www.lsjlt.com/news/120855.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python爬虫之requests库使用代理方式
    目录安装上requests库GET方法谷歌浏览器的开发者工具POST方法使用代理在看这篇文章之前,需要大家掌握的知识技能: python基础html基础http状态码 让我们看看这篇...
    99+
    2022-11-11
  • python爬虫之requests库的使用详解
    目录python爬虫—requests库的用法基本的get请求带参数的GET请求:解析json使用代理获取cookie会话维持证书验证设置超时异常捕获异常处理 总结 python爬虫...
    99+
    2022-11-12
  • Python爬虫Requests库如何使用
    本篇内容主要讲解“Python爬虫Requests库如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python爬虫Requests库如何使用”吧!1、安装 requests 库因为学习过...
    99+
    2023-07-06
  • Python爬虫Requests库的使用详情
    目录一、Requests库的7个主要的方法二、Response对象的属性三、爬取网页通用代码四、Resquests库的常见异常五、Robots协议展示六、案例展示一、Requests...
    99+
    2022-11-11
  • Python网络爬虫requests库怎么使用
    1. 什么是网络爬虫简单来说,就是构建一个程序,以自动化的方式从网络上下载、解析和组织数据。就像我们浏览网页的时候,对于我们感兴趣的内容我们会复制粘贴到自己的笔记本中,方便下次阅读浏览&mdash;&mdash;网络爬虫帮我...
    99+
    2023-05-15
    Python Requests
  • Python网络爬虫requests库如何使用
    这篇文章主要讲解了“Python网络爬虫requests库如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python网络爬虫requests库如何使用”吧!1. 什么是网络爬虫简单来...
    99+
    2023-07-06
  • Python爬虫学习之requests的使用教程
    目录requests库简介requests库安装1、pip命令安装2、下载代码进行安装requests库的使用发送请求get请求抓取二进制数据post请求POST请求的文件上传利用r...
    99+
    2022-11-11
  • Python异步爬虫requests和aiohttp中代理IP的使用
    爬虫要想爬的好,IP代理少不了。。现在网站基本都有些反爬措施,访问速度稍微快点,就会发现IP被封,不然就是提交验证。下面就两种常用的模块来讲一下代理IP的使用方式。话不多说,直接开始...
    99+
    2022-11-13
  • python爬虫怎么利用requests制作代理池s
    本篇内容介绍了“python爬虫怎么利用requests制作代理池s”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  爬取代理然后验证代理,...
    99+
    2023-06-02
  • python爬虫http代理使用方法
    目前,许多网站都设置了相应的防爬虫机制。这是因为有些人在实际的防爬虫主权过程中恶意收集或恶意攻击。一般来说,爬虫类开发者为了能够正常收集数据,速度相对较慢,或者一部分爬虫类开发者在网...
    99+
    2022-11-12
  • Python爬虫之使用BeautifulSoup和Requests抓取网页数据
    目录一、简介二、网络爬虫的基本概念三、Beautiful Soup 和 Requests 库简介四、选择一个目标网站五、使用 Requests 获取网页内容六、使用 Beautifu...
    99+
    2023-05-14
    Python爬虫 使用BeautifulSoup和Requests Python爬虫抓取网页数据
  • python学习-Selenium爬虫之使用代理ip的方法
     今天给大家分享的是如何在爬取数据的时候防止IP被封,今天给大家分享两种方法,希望大家可以认真学习,再也不用担心被封IP啦。第一种:降低访问速度,我们可以使用time模块中的sleep,使程序每运行一次后就睡眠1s,这样的话就可以...
    99+
    2023-06-02
  • python爬虫之代理ip正确使用方法实例
    目录代理ip原理输入网址后发生了什么呢?代理ip做了什么呢? 为什么要用代理呢?爬虫代码中使用代理ip检验代理ip是否生效 未生效问题排查1.请求协议不匹配2.代...
    99+
    2022-11-11
  • 爬虫使用代理的不同方式
    ...
    99+
    2019-02-18
    爬虫使用代理的不同方式
  • python爬虫之代理ip怎么正确使用
    在Python中使用代理IP进行爬虫需要使用第三方库,比如requests库。以下是使用代理IP的正确步骤:1. 导入request...
    99+
    2023-08-17
    python
  • python爬虫之pyppeteer库简单使用
    pyppeteer 介绍Pyppeteer之前先说一下Puppeteer,Puppeteer是谷歌出品的一款基于Node.js开发的一款工具,主要是用来操纵Chrome浏览器的 AP...
    99+
    2022-11-12
  • Python爬虫之怎么使用BeautifulSoup和Requests抓取网页数据
    这篇文章主要介绍了Python爬虫之怎么使用BeautifulSoup和Requests抓取网页数据的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python爬虫之怎么使用BeautifulSoup和Reque...
    99+
    2023-07-05
  • Python 爬虫使用代理 IP 的正确方法
    代理 IP 是爬虫中非常常用的方法,可以避免因为频繁请求而被封禁。下面是 Python 爬虫使用代理 IP 的正确方法: 选择可靠的代理 IP 供应商,购买或者免费使用代理 IP 列表。 2. 在爬虫中使用第三方库 requests ,并...
    99+
    2023-09-01
    python 开发语言
  • python 爬虫如何使用代理IP
    作为一名数据采集者,我们都是知道,一个网站要是频繁访问都会被封IP,那要怎么解决这个问题呢?不可能一直频繁的更换设备,不光数据不能同步,这些设备的成本也是无法预计的,所以这个时候就需要代理IP了。以亿牛云(https://www.16yun...
    99+
    2023-06-02
  • 玩转python爬虫之cookie使用方法
    之前一篇文章我们学习了爬虫的异常处理问题,那么接下来我们一起来看一下Cookie的使用。 为什么要使用Cookie呢? Cookie,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上...
    99+
    2022-06-04
    爬虫 玩转 使用方法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作