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 相关文章推荐
在SAE上部署Python的Django框架的一些问题汇总
May 30 Python
python中执行shell的两种方法总结
Jan 10 Python
Python tkinter事件高级用法实例
Jan 31 Python
python 实现敏感词过滤的方法
Jan 21 Python
python 环境搭建 及python-3.4.4的下载和安装过程
Jul 20 Python
python 实现手机自动拨打电话的方法(通话压力测试)
Aug 08 Python
正则给header的冒号两边参数添加单引号(Python请求用)
Aug 09 Python
tensorflow 实现数据类型转换
Feb 17 Python
使用keras时input_shape的维度表示问题说明
Jun 29 Python
python实现每天自动签到领积分的示例代码
Aug 18 Python
Python如何爬取51cto数据并存入MySQL
Aug 25 Python
Python中使用Opencv开发停车位计数器功能
Apr 04 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结合js实现点击超链接执行删除确认操作
2014/10/31 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
PHP设计模式入门之迭代器模式原理与实现方法分析
2020/04/26 PHP
js文件中调用js的实现方法小结
2009/10/23 Javascript
js 判断图片是否加载完以及实现图片的预下载
2014/08/14 Javascript
jQuery中[attribute*=value]选择器用法实例
2014/12/31 Javascript
原生javascript实现DIV拖拽并计算重复面积
2015/01/02 Javascript
ECMAScript6块级作用域及新变量声明(let)
2015/06/12 Javascript
JS操作COOKIE实现备忘记录的方法
2016/04/01 Javascript
Js操作DOM元素及获取浏览器高宽的简单方法
2016/09/08 Javascript
jQuery实现移动端Tab选项卡效果
2017/03/15 Javascript
基于JavaScript实现验证码功能
2017/04/01 Javascript
js 显示日期时间的实例(时间过一秒加1)
2017/10/25 Javascript
基于Three.js实现360度全景图片
2018/12/30 Javascript
nvm、nrm、npm 安装和使用详解(小结)
2019/01/17 Javascript
mocha的时序规则讲解
2019/02/16 Javascript
微信小程序template模板与component组件的区别和使用详解
2019/05/22 Javascript
在vue中配置不同的代理同时访问不同的后台操作
2020/09/11 Javascript
django model去掉unique_together报错的解决方案
2016/10/18 Python
Django框架的使用教程路由请求响应的方法
2018/07/03 Python
numpy添加新的维度:newaxis的方法
2018/08/02 Python
解决pyttsx3无法封装的问题
2018/12/24 Python
python3+pyqt5+itchat微信定时发送消息的方法
2019/02/20 Python
Python学习笔记之For循环用法详解
2019/08/14 Python
python 实现生成均匀分布的点
2019/12/05 Python
Python中文分词库jieba,pkusegwg性能准确度比较
2020/02/11 Python
基于python实现计算且附带进度条代码实例
2020/03/31 Python
ansible-playbook实现自动部署KVM及安装python3的详细教程
2020/05/11 Python
html5.2 dialog简介详解
2018/02/27 HTML / CSS
购买限量版收藏品、珠宝和礼品:Bradford Exchange
2016/09/23 全球购物
西班牙在线宠物商店:zooplus.es
2017/02/24 全球购物
Erwin Müller穆勒家居瑞士官网:您整个家庭的邮购公司
2019/12/28 全球购物
茶楼服务员岗位职责
2015/02/09 职场文书
关于社会实践的心得体会(2016最新版)
2016/01/25 职场文书
html+css 实现简易导航栏功能
2021/04/07 HTML / CSS
Python使用Beautiful Soup(BS4)库解析HTML和XML
2022/06/05 Python