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中sleep函数用法实例分析
Apr 29 Python
尝试使用Python多线程抓取代理服务器IP地址的示例
Nov 09 Python
Python处理JSON数据并生成条形图
Aug 05 Python
Python GUI Tkinter简单实现个性签名设计
Jun 19 Python
Tensorflow 合并通道及加载子模型的方法
Jul 26 Python
Python for循环与range函数的使用详解
Mar 23 Python
pandas的to_datetime时间转换使用及学习心得
Aug 11 Python
Python使用matplotlib 模块scatter方法画散点图示例
Sep 27 Python
python opencv将表格图片按照表格框线分割和识别
Oct 30 Python
tensorflow 实现数据类型转换
Feb 17 Python
python创建文本文件的简单方法
Aug 30 Python
Python中用xlwt制作表格实例讲解
Nov 05 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 __autoload()方法真的影响性能吗?
2012/03/30 PHP
php切割页面div内容的实现代码分享
2012/07/31 PHP
PHP图片上传代码
2013/11/04 PHP
php代码审计比较有意思的例子
2014/05/07 PHP
php合并数组中相同元素的方法
2014/11/13 PHP
php 微信开发获取用户信息如何实现
2016/12/13 PHP
laravel 时间格式转时间戳的例子
2019/10/11 PHP
取消选中单选框radio的三种方式示例介绍
2013/12/23 Javascript
jquery教程ajax请求json数据示例
2014/01/13 Javascript
JS获取各种浏览器窗口大小的方法
2014/01/14 Javascript
本人自用的global.js库源码分享
2015/02/28 Javascript
JavaScript学习小结(7)之JS RegExp
2015/11/29 Javascript
让你一句话理解闭包(简单易懂)
2016/06/03 Javascript
原生js封装自定义滚动条
2017/03/24 Javascript
Vue.js实现开发购物车功能的方法详解
2019/02/22 Javascript
微信小程序的授权实现过程解析
2019/08/02 Javascript
js判断在哪个浏览器打开项目的方法
2020/01/21 Javascript
Vue 实现拨打电话操作
2020/11/16 Javascript
Python可变参数函数用法实例
2015/07/07 Python
python中的&&及||的实现示例
2019/08/07 Python
HTML5中使用json对象的实例代码
2018/09/10 HTML / CSS
手对手的教你用canvas画一个简单的海报的方法示例
2018/12/10 HTML / CSS
Canvas 文本填充线性渐变的使用详解
2020/06/22 HTML / CSS
DHC美国官网:日本通信销售第一的化妆品品牌
2017/11/12 全球购物
网游商务专员求职信
2013/10/15 职场文书
工地资料员岗位职责
2013/12/31 职场文书
教师党员承诺书
2014/03/25 职场文书
高中教师评语大全
2014/04/25 职场文书
党的群众路线领导班子整改方案
2014/09/27 职场文书
公司委托书格式范文
2014/10/09 职场文书
大学生毕业评语
2014/12/31 职场文书
建筑技术负责人岗位职责
2015/04/13 职场文书
学校党支部承诺书
2015/04/30 职场文书
导盲犬小Q观后感
2015/06/11 职场文书
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
2021/04/14 Python
Java 泛型详解(超详细的java泛型方法解析)
2021/07/02 Java/Android