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 用Redis简单实现分布式爬虫的方法
Nov 23 Python
python实现关键词提取的示例讲解
Apr 28 Python
django_orm查询性能优化方法
Aug 20 Python
使用Python将Mysql的查询数据导出到文件的方法
Feb 25 Python
Python解析命令行读取参数之argparse模块
Jul 26 Python
python递归下载文件夹下所有文件
Aug 31 Python
Python3离线安装Requests模块问题
Oct 13 Python
基于python实现从尾到头打印链表
Nov 02 Python
pytorch 自定义卷积核进行卷积操作方式
Dec 30 Python
python常用运维脚本实例小结
Feb 14 Python
Python爬虫程序架构和运行流程原理解析
Mar 09 Python
Python matplotlib可视化实例解析
Jun 01 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
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
2017/11/16 PHP
javascript基本语法分析说明
2008/06/15 Javascript
jquery $.each 和for怎么跳出循环终止本次循环
2013/09/27 Javascript
js导出table数据到excel即导出为EXCEL文档的方法
2013/10/10 Javascript
JavaScript模拟数组合并concat
2016/03/06 Javascript
Bootstrap框架下下拉框select搜索功能
2020/03/26 Javascript
轻松5句话解决JavaScript的作用域
2016/07/15 Javascript
bootstrap datetimepicker 日期插件在火狐下出现一条报错信息的原因分析及解决办法
2017/03/08 Javascript
AngularJs 延时器、计时器实例代码
2017/09/16 Javascript
js实现可以点击收缩或张开的悬浮窗
2017/09/18 Javascript
vue组件之Alert的实现代码
2017/10/17 Javascript
webpack中使用iconfont字体图标的方法
2018/02/22 Javascript
vue 微信授权登录解决方案
2018/04/10 Javascript
vue使用axios上传文件(FormData)的方法
2019/04/14 Javascript
微信小程序 bindtap 传参的实例代码
2020/02/21 Javascript
js实现跳一跳小游戏
2020/07/31 Javascript
[01:00:54]TI4正赛第二日开场
2014/07/20 DOTA
[03:11]TI9战队档案 - Alliance
2019/08/20 DOTA
python列表与元组详解实例
2013/11/01 Python
详解Python设计模式编程中观察者模式与策略模式的运用
2016/03/02 Python
PyQt 线程类 QThread使用详解
2017/07/16 Python
Python编程之gui程序实现简单文件浏览器代码
2017/12/08 Python
Python配置虚拟环境图文步骤
2019/05/20 Python
python输出带颜色字体实例方法
2019/09/01 Python
html5在移动端的屏幕适应问题示例探讨
2014/06/15 HTML / CSS
英国领先的高街书籍专家:Waterstones
2018/02/01 全球购物
商务邀请函范文
2014/01/14 职场文书
大型晚会策划方案
2014/02/06 职场文书
《泉水》教学反思
2014/04/11 职场文书
一帮一活动总结
2014/05/08 职场文书
12.4法制宣传日活动总结
2014/08/26 职场文书
解放思想大讨论活动心得体会
2014/09/11 职场文书
仲裁协议书
2014/09/26 职场文书
个人租房协议书
2014/11/28 职场文书
电台广播稿范文
2015/08/19 职场文书
2019最新版劳务派遣管理制度
2019/08/16 职场文书