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实现备份文件实例
Sep 16 Python
从Python程序中访问Java类的简单示例
Apr 20 Python
Python中pygame的mouse鼠标事件用法实例
Nov 11 Python
Python实现代码统计工具(终极篇)
Jul 04 Python
Python进阶学习之特殊方法实例详析
Dec 01 Python
Python程序运行原理图文解析
Feb 10 Python
Python日期时间对象转换为字符串的实例
Jun 22 Python
django从请求到响应的过程深入讲解
Aug 01 Python
python爬虫之线程池和进程池功能与用法详解
Aug 02 Python
python实现两张图片拼接为一张图片并保存
Jul 16 Python
python爬虫爬取网页数据并解析数据
Sep 18 Python
python 自动化偷懒的四个实用操作
Apr 11 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
php抽象类用法实例分析
2015/07/07 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
2015/12/17 PHP
PHP加MySQL消息队列深入理解
2021/02/27 PHP
Mootools 1.2教程(21)——类(二)
2009/09/15 Javascript
利用js的Node遍历找到repeater的一个字段实例介绍
2013/04/25 Javascript
jQuery基于当前元素进行下一步的遍历
2014/05/20 Javascript
html的DOM中document对象forms集合用法实例
2015/01/21 Javascript
js实现商品抛物线加入购物车特效
2020/11/18 Javascript
基于jQuery Ajax实现下拉框无刷新联动
2017/12/06 jQuery
JS实现监控微信小程序的原理
2018/06/15 Javascript
JavaScript获取页面元素的常用方法详解
2019/09/28 Javascript
微信小程序上传图片并等比列压缩到指定大小的实例代码
2019/10/24 Javascript
[03:20]次级联赛厮杀超职业 现超级兵对拆世纪大战
2014/10/30 DOTA
用Python编写生成树状结构的文件目录的脚本的教程
2015/05/04 Python
Python中操作文件之write()方法的使用教程
2015/05/25 Python
从源码解析Python的Flask框架中request对象的用法
2016/06/02 Python
Python 实现 贪吃蛇大作战 代码分享
2016/09/07 Python
Python 高级专用类方法的实例详解
2017/09/11 Python
python 对txt中每行内容进行批量替换的方法
2018/07/11 Python
python networkx 包绘制复杂网络关系图的实现
2019/07/10 Python
python将三维数组展开成二维数组的实现
2019/11/30 Python
Python BeautifulReport可视化报告代码实例
2020/04/13 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
2020/05/09 Python
如何使用python记录室友的抖音在线时间
2020/06/29 Python
python调用摄像头的示例代码
2020/09/28 Python
如何用Matlab和Python读取Netcdf文件
2021/02/19 Python
Python页面加载的等待方式总结
2021/02/28 Python
全球性的在线婚纱礼服工厂:27dress.com
2019/03/21 全球购物
十八届三中全会报告学习材料
2014/02/17 职场文书
2014年3.15团委活动总结
2014/03/16 职场文书
2014年最新党员对照检查材料汇总
2014/09/15 职场文书
会议接待欢迎词范文
2015/01/26 职场文书
2015年安全生产月工作总结
2015/07/27 职场文书
家电创业计划书
2019/08/05 职场文书
导游词之麻姑仙境
2019/11/18 职场文书
利用前端HTML+CSS+JS开发简单的TODOLIST功能(记事本)
2021/04/13 Javascript