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实现对比不同字体中的同一字符的显示效果
Apr 23 Python
Python中标准模块importlib详解
Apr 16 Python
Python+matplotlib+numpy绘制精美的条形统计图
Jan 02 Python
Python数据持久化shelve模块用法分析
Jun 29 Python
将python图片转为二进制文本的实例
Jan 24 Python
python使用PyQt5的简单方法
Feb 27 Python
pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
Jan 13 Python
pytorch判断是否cuda 判断变量类型方式
Jun 23 Python
改变 Python 中线程执行顺序的方法
Sep 24 Python
15个Pythonic的代码示例(值得收藏)
Oct 29 Python
python基础之while循环语句的使用
Apr 20 Python
tensorflow中的数据类型dtype用法说明
May 26 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
PHPLog php 程序调试追踪工具
2009/09/09 PHP
php+mysql实现的二级联动菜单效果详解
2016/05/10 PHP
prototype 的说明 js类
2006/09/07 Javascript
网络之美 JavaScript中Get和Set访问器的实现代码
2010/09/19 Javascript
最短的IE判断代码
2011/03/13 Javascript
用JQuery在网页中实现分隔条功能的代码
2012/08/09 Javascript
向左滚动文字 js代码效果
2013/08/17 Javascript
JQuery替换DOM节点的方法
2015/06/11 Javascript
JavaScript lodash常见用法系列小结
2016/08/24 Javascript
概述VUE2.0不可忽视的很多变化
2016/09/25 Javascript
javascript显示系统当前时间代码
2016/12/29 Javascript
javascript实现的图片预览功能
2017/03/25 Javascript
正则表达式基本语法及表单验证操作详解【基于JS】
2017/04/07 Javascript
vue.js选中动态绑定的radio的指定项
2017/06/02 Javascript
基于react组件之间的参数传递(详解)
2017/09/05 Javascript
JS实现带导航城市列表以及输入搜索功能
2018/01/04 Javascript
jquery.param()实现数组或对象的序列化方法
2018/10/08 jQuery
详解vue引入子组件方法
2019/02/12 Javascript
JavaScript 作用域实例分析
2019/10/02 Javascript
python开发之IDEL(Python GUI)的使用方法图文详解
2015/11/12 Python
详解python并发获取snmp信息及性能测试
2017/03/27 Python
Python实现屏幕截图的两种方式
2018/02/05 Python
对Python中画图时候的线类型详解
2019/07/07 Python
python tqdm库的使用
2020/11/30 Python
详解numpy1.19.4与python3.9版本冲突解决
2020/12/15 Python
英国天然抗衰老护肤品品牌:Nakin Skin Care
2019/04/16 全球购物
函授本科毕业生自我鉴定
2013/10/16 职场文书
建筑施工安全责任书
2014/07/24 职场文书
委托证明模板
2014/09/16 职场文书
2014年初一班主任工作总结
2014/11/08 职场文书
文明倡议书
2015/01/19 职场文书
人事任命通知
2015/04/20 职场文书
英语导游欢迎词
2015/09/30 职场文书
外出学习心得体会范文
2016/01/18 职场文书
教你怎么用PyCharm为同一服务器配置多个python解释器
2021/05/31 Python
Python机器学习应用之基于线性判别模型的分类篇详解
2022/01/18 Python