python爬虫之requests库使用代理

发布时间:2020-03-25 17:00:54

来源:亿速云

阅读:110

作者:小新

今天小编分享的是关于python爬虫的requests库使用代理,可能大家对python爬虫并不陌生,或者从来没有了解过python爬虫。但是不用担心,今天小编会以最简单的描述来讲python爬虫的原理。

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

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 .

: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郑州人流手术费用 http://mobile.120csjlyy.com/

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了。

关于python爬虫之requests库使用代理就分享到这里了,当然并不止以上和大家分析的办法,不过小编可以保证其准确性是绝对没问题的。希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。

python的requests库的添加代理_python爬虫之requests库使用代理相关推荐

  1. python爬虫ip代理_python爬虫批量抓取ip代理的方法(代码)

    本篇文章给大家带来的内容是关于python爬虫批量抓取ip代理的方法(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 使用爬虫抓取数据时,经常要用到多个ip代理,防止单个ip访 ...

  2. python爬虫requests库_python爬虫使用Requests库 - pytorch中文网

    在入门教程中我们介绍了urllib库和urllib2的用法,同时我们了解一些爬虫的基础以及对爬虫有了基本的了解.其实在我们生产环境中,使用Request库更加方便与实用,同时我们这需要短短的几行代码就 ...

  3. python爬虫requests源码链家_Python 爬虫 链家二手房(自行输入城市爬取)

    因同事想在沈阳买房,对比分析沈阳各区的房价,让我帮忙爬取一下链家网相关数据,然后打 算记下笔记 用于总结学到的东西&用到的东西. 一.爬虫需要会什么? 学习东西 首先你要知道它是干嘛的.爬虫 ...

  4. python requests模块_Python 爬虫教程 requests 模块

    经过 前边文章<简单Python爬虫教程 (一)>.简单Python爬虫教程 (二)两篇文章的学习,能写一些比较简单的爬虫了,但是还不够,这一篇文章主要介绍Requests模块,reque ...

  5. python ip动态代理_Python 爬虫设置动态代理

    爬虫的时候,我们用同一个ip反复爬一个网站有可能会被封,这时候就需要使用到代理ip 网上有免费的开放代理,但有些代理ip稳定性差要经常更换且有些爬取后就不可用了还要再筛查 除了免费的外可以向代理供应商 ...

  6. python安装扩展库常用的命令_Python环境——安装扩展库

    一.修改easy_install源 在操作用户家目录添加一个文件 cat >> ~/.pydistutils.cfg < [easy_install] index-url = htt ...

  7. python爬虫代理_python爬虫-代理的使用

    代理的设置 在urllib库中使用代理,代码如下: from urllib.request importProxyHandler,build_openerfrom urllib.error impor ...

  8. python 爬虫代理_python 爬虫 使用代理 的问题

    刚刚在使用Python写爬虫,但是由于我在公司没有上网权限,所以借别人的账号用(opera 浏览器代理 可有上网),我将代理信息写在python脚本里面但是出现了下面的错误. 代码: import u ...

  9. python turtle库画七彩蟒蛇_Python学习之turtle库和蟒蛇绘制程序

    Python的函数库 Python语言与C语言Java类似,可以大量使用外部函数库包含在安装包中的函数库:. 比如math, random, turtle等其他函数库,其他函数库用户根据代码需求自行安 ...

最新文章

  1. 融合应用11.1.8安装,一步一步的引导
  2. SLAM Cartographer(17)分支定界闭环检测
  3. maya多边形建模怎样做曲面_一名合格的模型师,不得不学习掌握的几种建模方法,你会了吗?...
  4. 边缘设备上的实时AI人员检测:在Raspberry Pi上测试SSD模型
  5. 数据分析学习笔记—python_word处理及邮件发送
  6. 值得收藏的前端大牛博客
  7. jquery removeAttr删除属性,attr给属性赋值
  8. MAC上编译OpenCV
  9. 10款网站后台管理系统模板_bootstrap网站后台模板_html后台模板下载(五)
  10. 通过stm32cubemx配置DCMI驱动ov5640摄像头
  11. Linux chrome/firefox flash过期问题解决办法
  12. JDBC 和数据库连接池
  13. win10 pip install talib一直安装失败
  14. Focal-UNet
  15. “西游记之大圣归来”短评主题分析-Latent Dirichlet Allocation
  16. snopt matlab,studentSnopt matlab 学生版,求解大规模非线性规划问题 238万源代码下载- www.pudn.com...
  17. BGP邻居路由条目数超限
  18. 【题目泛做】哲学题(DFS序)(Splay)
  19. 潜在语义分析 (LSA),概率潜在语义分析 (PLSA)
  20. 【简单实用】一台主机两个人使用,互不影响~~~

热门文章

  1. go strings.TrimPrefix() 和 strings.TrimLeft()
  2. python编程从入门到实践《外星人入侵》相关图像获取方法
  3. Orientdb基本操作
  4. 项目实训—基于AI的智能视频剪辑器(六)GIF片段合成视频
  5. 亚马逊AWS宣布在香港推出新的区域
  6. PHP判断IP属于国内国外
  7. ThreadPool 源码解析
  8. curl http之post与formpost
  9. Python进阶(一) - 图形界面编程Tkinter(1)
  10. acwing基础课——哈希表