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 20 Python
Python实现测试磁盘性能的方法
Mar 12 Python
python3 pillow生成简单验证码图片的示例
Sep 19 Python
python 时间信息“2018-02-04 18:23:35“ 解析成字典形式的结果代码详解
Apr 19 Python
python定时关机小脚本
Jun 20 Python
Python hashlib加密模块常用方法解析
Dec 18 Python
python @propert装饰器使用方法原理解析
Dec 25 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
Mar 08 Python
python中sort sorted reverse reversed函数的区别说明
May 11 Python
Python selenium使用autoIT上传附件过程详解
May 26 Python
用python实现名片管理系统
Jun 18 Python
Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
Jun 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
为什么《星际争霸》是测试人工智能的理想战场
2019/12/03 星际争霸
PHP获取类中常量,属性,及方法列表的方法
2009/04/09 PHP
浅析get与post的一些特殊情况
2014/07/28 PHP
使用Appcan客户端自动更新PHP版本号(全)
2015/07/31 PHP
跨浏览器的 mouseenter mouseleave 以及 compareDocumentPosition的使用说明
2010/05/04 Javascript
JS在TextArea光标位置插入文字并实现移动光标到文字末尾
2013/06/21 Javascript
jQuery简单实现隐藏以及显示特效
2015/02/26 Javascript
jQuery Ajax 异步加载显示等待效果代码分享
2016/08/01 Javascript
AngularJS实现根据变量改变动态加载模板的方法
2016/11/04 Javascript
nodejs入门教程二:创建一个简单应用示例
2017/04/24 NodeJs
详解angular ui-grid之过滤器设置
2017/06/07 Javascript
bootstrap table服务端实现分页效果
2017/08/10 Javascript
JavaScript requestAnimationFrame动画详解
2017/09/14 Javascript
详解使用vscode+es6写nodejs服务端调试配置
2017/09/21 NodeJs
ajax与jsonp的区别及用法
2018/10/16 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
python 输出一个两行字符的变量
2009/02/05 Python
Python使用修饰器进行异常日志记录操作示例
2019/03/19 Python
Python3.5字符串常用操作实例详解
2019/05/01 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
使用python的turtle函数绘制一个滑稽表情
2020/02/28 Python
Django Admin后台添加数据库视图过程解析
2020/04/01 Python
python suds访问webservice服务实现
2020/06/26 Python
Python实现定时监测网站运行状态的示例代码
2020/09/30 Python
军训自我鉴定
2014/01/22 职场文书
大学军训感言800字
2014/02/27 职场文书
求职信结尾怎么写
2014/05/26 职场文书
贸易经济专业自荐书
2014/06/29 职场文书
法人代表证明书
2014/09/18 职场文书
普通党员个人整改措施
2014/10/27 职场文书
2014年材料员工作总结
2014/11/19 职场文书
客服专员岗位职责
2015/02/10 职场文书
2015年纪委工作总结
2015/05/13 职场文书
大学优秀学生主要事迹材料
2015/11/04 职场文书
导游词之蜀山胜景瓦屋山
2019/11/29 职场文书
通过T-SQL语句创建游标与实现数据库加解密功能
2022/03/16 SQL Server