Python爬虫设置ip代理过程解析


Posted in Python onJuly 20, 2020

1、get方式:如何为爬虫添加ip代理,设置Request header(请求头)

import urllib 
import urllib.request
import urllib.parse
import random
import time
from fake_useragent import UserAgent
ua = UserAgent()
url = "http://www.baidu.com"
########################################################
'''
设置ip代理
iplist = [ '127.0.0.1:80']  #可自行上网找一些代理
proxy_support = urllib.request.ProxyHandler({'http':random.choice(iplist)}) #也可以设置为https,要看你的代理支不支持
opener = urllib.request.build_opener(proxy_support)
'''
########################################################
'''无ip代理'''
opener = urllib.request.build_opener()

'''f12查看请求头添加即可,不一定都需要全添加↓↓↓'''
opener.addheaders = [('Host', 'newtab.firefoxchina.cn'),
           ('User-Agent',ua.random),
           ('Accept-Encoding','deflate, br'),
           ('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'),
           ('Accept-Language', 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2'),
           ('Connection', 'keep-alive'),
           ('Upgrade-Insecure-Requests',1),
           ('Cookie', '__gads=ID=138080209be66bf8:T=1592037395:S=ALNI_Ma-g9wHmfxFL4GCy9veAjJrJRsNmg; Hm_lvt_dd4738b5fb302cb062ef19107df5d2e4=1592449208,1592471447,1592471736,1594001802; uid=rBADnV7m04mi8wRJK3xYAg=='),
          ]
urllib.request.install_opener(opener)
while True:
  try:
    response = urllib.request.urlopen(url)
    break
  except Exception as e:
    print("错误信息:" + str(e))
    time.sleep(3)
html = response.read().decode("utf-8")
print(html)

2、post方式添加载荷(此处是打比方),修改urllib.request.install_opener(opener)以下的代码即可

urllib.request.install_opener(opener)
# data = {}    #当页面提交数据是有载荷但是载荷内容为空时,必须以data = {}传参,不然无法获取网页数据
data = {'_csrf':'请把',
    'collection-name':'载荷的参数',
    'description':'以这种形式',
    '_csrf':'装载'
    }
data = urllib.parse.urlencode(data).encode('utf-8')
req = urllib.request.Request(url,data)
while True:
  try:
    response = urllib.request.urlopen(req)
    break
  except Exception as e:
    print("错误信息:" + str(e))
    time.sleep(3)
html = response.read().decode("utf-8")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python操作CouchDB数据库简单示例
Mar 10 Python
Python实现PS图像调整之对比度调整功能示例
Jan 26 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
Apr 30 Python
Python两台电脑实现TCP通信的方法示例
May 06 Python
Python实现平行坐标图的两种方法小结
Jul 04 Python
python+jinja2实现接口数据批量生成工具
Aug 28 Python
python中的Elasticsearch操作汇总
Oct 30 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
Jan 09 Python
python机器学习库xgboost的使用
Jan 20 Python
django admin后管定制-显示字段的实例
Mar 11 Python
Python语法垃圾回收机制原理解析
Mar 25 Python
python工具dtreeviz决策树可视化和模型可解释性
Mar 03 Python
Python如何使用27行代码绘制星星图
Jul 20 #Python
tensorflow基于CNN实战mnist手写识别(小白必看)
Jul 20 #Python
基于python实现生成指定大小txt文档
Jul 20 #Python
python中upper是做什么用的
Jul 20 #Python
Pytorch框架实现mnist手写库识别(与tensorflow对比)
Jul 20 #Python
python集合能干吗
Jul 19 #Python
python如何建立全零数组
Jul 19 #Python
You might like
全国FM电台频率大全 - 12 安徽省
2020/03/11 无线电
php下将多个数组合并成一个数组的方法与实例代码
2011/02/03 PHP
PHP获取MAC地址的函数代码
2011/09/11 PHP
php实现的漂亮分页方法
2014/04/17 PHP
php简单压缩css样式示例
2016/09/22 PHP
Yii2框架制作RESTful风格的API快速入门教程
2016/11/08 PHP
图片按比例缩放函数
2006/06/26 Javascript
推荐10个超棒的jQuery工具提示插件
2011/10/11 Javascript
CSS+jQuery实现的一个放大缩小动画效果
2013/09/24 Javascript
nodejs之请求路由概述
2014/07/05 NodeJs
javascript的document.referrer浏览器支持、失效情况总结
2014/07/18 Javascript
jQuery多条件筛选如何实现
2015/11/04 Javascript
详解JavaScript的变量和数据类型
2015/11/27 Javascript
纯JavaScript代码实现文本比较工具
2016/02/17 Javascript
BootStrap智能表单实战系列(十一)级联下拉的支持
2016/06/13 Javascript
JavaScript实现时钟滴答声效果
2017/01/29 Javascript
jQuery实用密码强度检测
2017/03/02 Javascript
js利用for in循环获取 一个对象的所有属性以及值的实例
2017/03/30 Javascript
利用Javascript开发一个二维周视图日历
2017/12/14 Javascript
Koa2微信公众号开发之本地开发调试环境搭建
2018/05/16 Javascript
js中int和string数据类型互相转化实例
2019/01/16 Javascript
[02:58]魔廷新尊——痛苦女王至宝语音台词节选
2020/06/14 DOTA
python中sets模块的用法实例
2014/09/30 Python
python交换两个变量的值方法
2019/01/12 Python
Python实现程序判断季节的代码示例
2019/01/28 Python
用python画一只可爱的皮卡丘实例
2019/11/21 Python
python识别验证码的思路及解决方案
2020/09/13 Python
Jupyter Notebook 安装配置与使用详解
2021/01/06 Python
森海塞尔美国官网:Sennheiser耳机与耳麦
2017/07/19 全球购物
澳大利亚在线家具、灯饰和家居装饰店:LivingStyles
2018/11/20 全球购物
编辑求职信样本
2013/12/16 职场文书
学生干部学习的自我评价
2014/02/18 职场文书
科学发展观活动总结
2014/08/28 职场文书
关于运动会的广播稿50字
2014/10/17 职场文书
2015年食品安全宣传周活动总结
2015/07/09 职场文书
详解Js模块化的作用原理和方案
2021/04/29 Javascript